【问题标题】:Invalid Label Error with JSON requestJSON 请求的无效标签错误
【发布时间】:2010-05-12 07:10:45
【问题描述】:

我已经阅读了很多关于这方面的内容,但我就是想不通。它与我的代码无关,它与提要或其他东西有关,因为如果我将它与 Twitter 提要交换,它会返回一个完美的 Object 对象。

$.getJSON('http://rockbottom.nozzlmedia.com:8000/api/portland/?count=1&callback=?',function(json){
    console.log(json)
});

我收到“无效标签”错误。有什么想法吗?

另外,附带说明一下,我也尝试过 AJAX 方法:

$.ajax({
    url: 'http://rockbottom.nozzlmedia.com:8000/api/portland/',
    dataType: 'jsonp',
    data: 'count=1',
    success: function(msg){
        console.log(msg)
    }
});

并且两者都给出了相同的确切错误,并且在 Flickr 和 Twitter 示例中都可以正常工作,因此它必须与提要有关,但我无权访问提要,但如果我可以要求他们修复某些问题这是他们的问题。

【问题讨论】:

    标签: javascript jquery ajax json


    【解决方案1】:

    确保服务器端可以正确处理 JSONP 请求。例如,请参阅here

    编辑:似乎服务器没有用回调函数名称包装返回的 JSON 对象。服务器应该返回:

    callback( { json here } )
    

    而不是

    { json here }
    

    【讨论】:

    • 我无法访问提要,那么,如何检查它是否设置正确?我确实注意到,我无法向 Flickr 和 Twitter 以及大多数其他 API 等提要添加回调。有没有我可以做的测试,然后我可以将结果发送给开发人员让他修复它?
    • 查看我编辑的答案。因为现在服务器不支持 jsonp 调用。
    • 该死的,不过谢谢你,我想我会卷曲它的 :) 谢谢!
    【解决方案2】:

    该 URL 似乎希望您提供 JSONP 回调(来自 callback=? 位)。这可能就是问题所在;它返回的是 Javascript 而不是 JSON(因为这就是 JSONP 的工作方式)。有关使用 JSONP 服务的更多信息,请参阅 $.ajax 文档。

    【讨论】:

    • 见我上面的评论。我知道回调=?和 jsonp,就像上面说的,它适用于 Twitter 和 Flickr... :( 它是实际的 JSON 吗?
    • @Oscar:听起来确实有可能,你需要看看会发生什么。
    【解决方案3】:

    返回的内容在其中一个字符串中有未转义的双引号。这是无效的 JSON:

    ..."full_content":"just voted "with Mandy " on...
    

    【讨论】:

    • 这会报错吗?我刷新它,它有新内容,这次它没有那个或转义的引号,我确实验证了它(我认为它也是无效的),但它通过了,显然你给 ISNT 的样本是有效的,但其他的似乎成为。我无权访问提要代码,因此,如果您知道任何解决方法,请告诉我:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 2021-08-02
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多