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) 的形式返回 .

 

 

 

 

 

 

 

你可能感兴趣的:(JavaScript,jsonp,jquery,Ajax,json)