0

我是 JavaScript 新手,并试图让 JSON 对象发布在我的网站上。但是,我无法获得成功响应。因为我没有合适的调试器,所以我看不到错误消息。

到目前为止,这是我的代码,我读到它可能是一个安全问题,我应该寻找 JSONP,但我还没有找到任何合适的例子来理解它。

<pre><html><head><title>Test0</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script><body>
    <script>
        $.ajax({
        url: 'http://openraid.org/api/login/asd/asd',
        dataType: 'json',
        jsonpCallback: 'MyJSONPCallback', 
        success: function(data){
            alert("TEST");
        }
        });
    </script></head>
</body></html></pre>

所以我的问题是,为什么我没有得到回应?

4

3 回答 3

0

我会把它分解成这样的:

$.ajax({
  type: "GET",
  dataType: "json",
  url: "http://openraid.org/api/login/TE/ST",  
})
.done(function(dataReturned){alert("Win")})
.fail(function(){alert("Fail")}));

此外,我建议在 Firefox 中使用 Firebug 扩展来进行调试。

于 2013-08-20T21:02:39.040 回答
0

很简单,JSONP 是一个服务器协议,它将在 uri 中接受一个回调参数,并返回一个 JSON 对象作为由回调参数命名的 javascript 函数调用中的变量。因此,在实际功能中,getJSON它的工作方式与 完全一样getScript,它能够将外部 uri 作为脚本标记加载到页面中并运行脚本,在这种情况下,是返回包含 JSON 的变量的 javascript 函数。如果您的 API 不支持 JSONP,那么您将不会获得成功响应。

于 2013-08-20T21:04:34.667 回答
0
$.getJSON("http://openraid.org/api/login/TE/ST",function(msg) {
    alert(msg.token);
})
.done(function(data, textStatus, jqXHR) { console.log( "second success" ); })
.fail(function(jqXHR, textStatus, errorThrown) { console.log( "error" ); });
于 2013-08-20T20:53:53.577 回答