日期:2014-05-16  浏览次数:20308 次

jquery ajax json 跨域取得json格式的值

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('http://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) 的形式返回 .

?

?

?

?

?

?

?