【问题标题】:How to formulate a JSONP request如何制定 JSONP 请求
【发布时间】:2011-09-02 21:15:28
【问题描述】:

我正在学习 GWT,目前我遇到了使用 JSONP 对特定服务器进行 RPC 调用的问题。

我要与之通信的服务器提供 JSON-RPC 服务,要求请求具有 {'Content-Type': 'application/json'} 的标头和常规 JSON 数据的主体,例如:{"params": ["HelloServer"], "method": "server.greeting", "id": 10}

我想知道是否可以向此服务器发出 JSONP 请求,因为我认为 JSONP 是 GWT 的 SameOriginPolicy 限制的唯一解决方法。


edit:正如Darin Dimitrov 解释的那样,我想我必须坚持使用JSON,因为服务器不提供JSONP 服务。建议的SOP解决方法很完美,也建议here

【问题讨论】:

    标签: gwt jsonp


    【解决方案1】:

    我想知道是否可以向此服务器发出 JSONP 请求

    如果服务器不支持,则不会。以下是需要修改服务器响应以支持 JSONP 的方式:

    someCallback({"params": ["HelloServer"], "method": "server.greeting", "id": 10})
    

    其中someCallback 是可以由客户端指定的函数的名称。如果您无法控制服务器并且它不支持 JSONP,那么您唯一的机会就是在您的域上编写一个服务器端脚本,该脚本将充当桥梁。然后您将向该脚本发送 AJAX 请求,该脚本会将其委托给远程域。

    【讨论】:

    • 我正在使用 GWT,实际上我尝试使用 XML-RPC 与服务器通信,但我遇到了 SOP 问题!我想知道如何在 GWT 中实现您的解决方案,非常感谢您提供的信息
    猜你喜欢
    • 2017-06-20
    • 2013-11-23
    • 2014-07-23
    • 1970-01-01
    • 2014-07-05
    • 2013-12-07
    • 2013-04-25
    • 2015-08-01
    • 1970-01-01
    相关资源
    最近更新 更多