【问题标题】:JSON Javascript, parse URL [duplicate]JSON Javascript,解析 URL [重复]
【发布时间】: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 年制造的浏览器,那么您有一个合适的调试器。
  • 我的 jsonp 调用成功,但出于某种原因,即使成功,我的“数据”对象也是空的。我是否试图错误地阅读它?我试过警报(data.error);这应该会产生一个可读的文本。

标签: javascript jquery json parsing


【解决方案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" ); });
    

    【讨论】:

      猜你喜欢
      • 2012-04-10
      • 2017-01-09
      • 2011-05-07
      • 1970-01-01
      • 1970-01-01
      • 2016-02-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-07
      相关资源
      最近更新 更多