2011-04-01 63 views
0

嗯,我试图访问php的web服务(返回jsonp和url格式为http://service.com/service.jsonp)。首先它是无声的失败。所以,我尝试直接在Visual Studio和IE中调试以下代码。使用jsonp访问跨域数据

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#btnClick').click(function() { 
      $.ajax({ 
       url: "http://url.jsonp", 
       dataType: "jsonp", 
       jsonp: "data", 
       jsonpCallback: "jsonpcallback" 
      }); 

      function jsonpcallback(data) { 
       alert('doinng it now'); 
      } 
     }); 
    }); 
</script> 

点击后,数据进入VS(这是一个正确的输出JSONP),但VS引发错误。以下是结果:

复制代码

data({"code":001,"msg":"true","data":{"obj1":"val1","obj2":"val2"}}) 

错误VS:微软JScript运行时错误:“数据”是未定义

回答

0

看来,从服务器返回的错误。鉴于你的jQuery参数,结果应该看起来像jsonpcallback({...})。你可以检查,所要求的网址是:

http://url.jsonp/?data=jsonpcallback 

如果是,服务器端做是错误的,并融合了其价值的GET参数名称。

+0

嗨,输出看起来像http://url.jsonp?data = jsonpcallback – Mayur 2011-04-01 10:15:11