jquery ajax json 跨域取得json格式的值:
此方法解決jquery ajax 跨域取json數據的時候 返回值通過firebug 可以查到,但是不執行回調函數的問題
$(document).ready(function (){
$('#btn').click(function(){
alert("frist");
var q = document.getElementById("k").value;
alert("second="+q);
var randomnum=(new Date()).getMilliseconds();
$.getJSON('https://192.168.1.201:8080/solrClient/g.action?jsoncallback=jsonfeed',{"q":q},
jsonfeed=function(json){
var data = eval(json);
for(i =0 ;i<data.length;i++){
alert(data[i].id);
}
});
return false;
})
})
在 請求url裡面 寫入jsoncallback 參數 jsoncallback=jsonfeed jsonfeed為 回調的方法名 通過jsoncallback=jsonfeed 我們把 該 回調方法名傳給服務器,然後服務器接收到jsoncallback的值 ,其實接收到的是 回調的方法名jsonfeed 也就是回調的方法, 然後將json格式的數據 以方法的參數的形式 傳遞給 jsonfeed 因為json為回調方法 而不是字符串 這裡需要註意,具體形式為:jsonfeed(json) 的形式返回 .
作者“715356603-qq-com”