JSON Javascript,解析 URL [重复]

Posted

技术标签:

【中文标题】JSON Javascript,解析 URL [重复]【英文标题】:JSON Javascript, parse URL [duplicate] 【发布时间】:2013-08-23 01:48:30 【问题描述】:

我是 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>

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

【问题讨论】:

如果您使用的是过去 5 年制造的浏览器,那么您有一个合适的调试器。 回答:***.com/questions/6849802/… 我的 jsonp 调用成功,但出于某种原因,即使成功,我的“数据”对象也是空的。我是否试图错误地阅读它?我试过警报(data.error);这应该会产生一个可读的文本。 【参考方案1】:

我会把它分解成这样的:

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

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

【讨论】:

数据类型出错:“json”。 “SyntaxError: missing after property list [Stanna vid fel] dataType: "json", Is my error code 很抱歉,在“GET”后面漏了一个逗号。【参考方案2】:

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

【讨论】:

【参考方案3】:
$.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" ); );

【讨论】:

以上是关于JSON Javascript,解析 URL [重复]的主要内容,如果未能解决你的问题,请参考以下文章

基于 JSON 回调数据的重定向 URL

JSON 解析URL参数

JavaScript 无法解析 JSON

JSON值在javascript中解析为未定义[重复]

如何使用 jQuery / JavaScript 解析 JSON 数据?

如何使用 jQuery / JavaScript 解析 JSON 数据?