美元.getJSON不能工作

$.getJSON isn't working

本文关键字:工作 不能 getJSON 美元      更新时间:2023-09-26

我被困在这一整天,getJSON只是不工作,我已经尝试了大量的例子,但它仍然不工作…任何帮助都太好了。谢谢!

    console.log("hi");
    $.getJSON("https://pod.cscf.me/conversations/new.json", function(result)
    {
            console.log("workingggggg");
            $.each(result, function(i, person)
            {
                    console.log("itworks2");
            }); 
    }); 

它只输出第一个控制台日志"hi"。

下面是new的代码。JSON文件:

    <script>
      //<![CDATA[
        $(document).ready(function () {
          var data = $.parseJSON( "[{'"value'":'"32'",'"name'":'"R M'"},{'"value'":'"17'",'"name'":'"nirkbirk@pod.cscf.me'"},{'"value'":'"15'",'"name'":'"Henry Hoggard'"},{'"value'":'"26'",'"name'":'"testproto@pod.cscf.me'"}]" ),
              autocompleteInput = $("#contact_autocomplete");
          autocompleteInput.autoSuggest(data, {
            selectedItemProp: "name",
            searchObjProps: "name",
            asHtmlID: "contact_ids",
            retrieveLimit: 10,
            minChars: 1,
            keyDelay: 0,
            startText: '',
            emptyText: 'No Results Found',
            preFill: [{name : "",
                       value : ""}]
            });
          autocompleteInput.focus();
        });
      //]]>
    </script>

我想访问var data = $.parseJSON etc部分(包含名称和id)

打开https://pod.cscf.me/conversations/new.json给我响应401未经授权。

这是在确认我要安装证书之后。有一个json响应说,我需要登录,但401响应状态头导致请求失败。

另一件事是,你不能从站点A发送xhr请求到站点B或从sub.A.com到A.com或从a: 80.com到a: 102.com,除非站点(pod.cscf.me)发送一个cors头。

我正在使用firefox的forcecors插件,因此可以使用它向其他网站发出请求。

关于跨站点脚本和同源策略的更多信息可以在wikipedia上找到,它解释了如何使用JSONP(与JSON不同)和CORS。

在您提供的测试帐户登录并在控制台中运行代码后,我明白您的意思,没有错误,但回调从未被调用。打开https://pod.cscf.me/conversations/new.json我可以看到url不返回JSON,响应是:

<script>
  //<![CDATA[
    $(document).ready(function () {
      var data = $.parseJSON( "[]" )

这不是JSON,所以永远不会调用回调,因为将响应转换为javascript对象会静默失败。