【问题标题】:Making JSON Feed Work Server to Server使 JSON Feed 工作服务器到服务器
【发布时间】:2023-04-11 10:14:01
【问题描述】:

我有一个 JSON 提要(我不能直接控制它,我必须要求服务器管理员更新它),它返回 NULL,或者当我尝试从另一台服务器访问它时无法正常工作。实际的提要工作正常,但我无法让它像普通 API 一样工作。

为什么我可以使用 Flickr、WhitePages、Twitter 等的 JSON API,但用于:
http://portlandoregon.gov/shared/cfm/json.cfm

在使用 JS 时在浏览器中返回 NULL。如果我在同一台服务器上调用它,那很好。

如果这是一个服务器问题,我应该要求管理员更改什么,如果这是一个基于本地(浏览器)的问题,我对这个适用于所有其他 JSON API 的提要做错了什么?

【问题讨论】:

    标签: javascript jquery json api external


    【解决方案1】:

    他们已将内容类型设置为 text/html 而不是 application/json。因此,如果您使用 jQuery $.ajax$.get 而不是 $.getJSON,那么您需要指示它以 application/json 处理它,以便它会自动将其解析为 JSON。

    另一方面,如果真的没有返回数据,那么他们可能会检查谁/什么在请求它并阻止它。唯一的办法确实是联系他们。它可能是一个错误,或者它可能是有意识地内置以防止窃取。

    【讨论】:

    • 谢谢,但我一直专门使用 $.getJSON 来处理 JSON 提要,包括上面的 portlandoregon.gov,但​​ jQuery 中的回调返回 NULL。那么,您是说我应该告诉管理团队将什么 application/json 更改为 text/html,然后如果我使用 $.getJSON 它将从服务器读取为 JSON 到服务器?可能是一个愚蠢的问题,但是我如何检查文档类型设置为(app/json 或 text/html)?
    • 如果$.getJSON返回null,那么“问题”确实在服务器端。这可能可以通过编程方式解决,但我不会那样做。他们可能出于法律原因阻止此操作,而您不想升级此操作。我使用 Firefox/Firebug 来检查 HTTP 请求/响应标头。
    • 非常感谢,终于有人知道了。我以不同的方式在 StackOverflow 上问过这个问题,但没人知道为什么!我的主管告诉我只是告诉他他需要告诉服务器管理员以使其工作,因为这将用于内部 API,该 API 需要进入其他域并由前端开发人员处理。那么我需要告诉他们什么才能让前端人员使用 getJSON 进行这项工作?非常感谢!
    • 我不确定这是否与服务器配置相关,它可能是一个 htaccess/web.config 规则或类似的非常先进和具体的规则,如果服务器管理员我会感到惊讶对此一无所知。它似乎与编程更相关,也许它正在检查请求标头以确定它的来源并根据此条件返回响应。
    猜你喜欢
    • 1970-01-01
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-15
    相关资源
    最近更新 更多