Permintaan & Respon Http

Saya harus membuat permintaan ke pipl.com ( http://apis.pipl.com//search/v2/json/?email=maryuca_alias%40yahoo.com&person_mode=all&exact_name=0&no_sponsored=0&key=myKey) untuk mendapatkannya informasi tentang seseorang. Respons dari permintaan ini adalah objek json. Saya tidak dapat melakukan ini dengan panggilan ajax/jquery/jsonp karena server mereka tidak mendukung jenis panggilan ini. Apakah ada cara untuk memproses respon di sisi server (saya menggunakan Struts 1) atau sisi klien?

Jika Anda punya solusinya, silakan jawab pertanyaan ini.

<html>
<head>
</head>
<body>
<script type="text/javascript">
function getJSONP(url, success) {
var ud = '_' + +new Date,
script = document.createElement('script'),
head = document.getElementsByTagName('head')[0] 
|| document.documentElement;
window[ud] = function(data) {
head.removeChild(script);
alert(data);
success && success(data);
};
script.src = url.replace('callback=?', 'callback=' + ud);
head.appendChild(script);
}
getJSONP('http://apis.pipl.com//search/v2/json/?email=maryuca_alias
%40yahoo.com&person_mode=all&exact_name=0&no_sponsored=0
&key=key&callback=?', function(data){
console.log(data);
});     
</script>
</body>
</html>

person Martinas Maria    schedule 22.05.2012    source sumber


Jawaban (2)


Gunakan sesuatu seperti HttpClient untuk membuat permintaan dari Java, mungkin dalam layanan yang dipanggil oleh kelas tindakan. Respons tersebut dapat diproses oleh Java atau JavaScript, bergantung pada kebutuhan Anda.

person Dave Newton    schedule 22.05.2012
comment
Saya akan mencoba ini. Sepertinya yang paling cocok. Terima kasih. - person Martinas Maria; 22.05.2012

oke, sepertinya Anda membuat permintaan lintas situs yang valid, tetapi Anda mendapatkan header yang berbeda dari yang diharapkan atau data tidak berformat JSON?

jika header responsnya tidak tepat, Anda selalu dapat mengurai data di sisi klien. cara terbaik untuk menentukan masalah adalah dengan menempelkan header permintaan, respons, dan kode

person specone    schedule 22.05.2012
comment
Ini bukan permintaan lintas situs yang valid. Dengan panggilan ajax klasik saya mendapatkan kesalahan asal tidak diizinkan. Jadi saya mencoba dengan panggilan jsonp tetapi pipl.com tidak mendukung format ini. - person Martinas Maria; 22.05.2012
comment
0 suara tidak ya, saya sudah membaca dokumentasinya - sangat buruk. yang bisa saya sarankan kepada Anda adalah mencoba menggunakan jsonp/ajax dari jquery. atau hal yang lebih rumit tetapi akan berfungsi 100% - panggil dengan skrip ajax di server kami yang hanya mendapatkan konten halaman dengan cURL atau pustaka permintaan http lainnya. - person specone; 23.05.2012