【问题标题】:Best way to test JSONP Request on localhost Dev Box在 localhost Dev Box 上测试 JSONP 请求的最佳方法
【发布时间】:2012-09-14 18:16:26
【问题描述】:

我没有可以轻松部署的测试服务器,我想测试一些 jsonp 请求。如果我只是在开发盒上从 Eclipse 进行部署,那么最好的方法是什么?如果我在 Eclipse 中在不同的端口上部署 2 个服务器实例,它是否被视为跨站点请求?有什么方法可以伪造它并在项目中进行本地测试?

【问题讨论】:

    标签: javascript jsonp


    【解决方案1】:

    只要两个域不匹配,您应该可以将其作为跨站点 jsonp 调用进行测试。

    术语“来源”是使用运行脚本的 HTML 文档的域名、应用层协议和(在大多数浏览器中)端口号来定义的。当且仅当所有这些值完全相同时,才认为两个资源具有相同的来源。

    【讨论】:

    • 那么 localhost:8080 和 localhost:8090 被认为是不同的域?
    • 由于端口不同,相同的来源策略将适用并阻止您的 XHR 调用。
    • @ryandlf 是的,不同的端口被浏览器视为不同的“来源”。
    【解决方案2】:

    JSONP 不需要 2 个主机,它只是支持它。因此,无论您的 JSONP 响应是来自远程服务器还是来自同一台服务器,它的工作原理几乎相同。

    【讨论】:

    • 好的,所以在测试时我可能会忽略任何棘手的问题,如果它来自远程站点会破坏请求?这是我最关心的......
    • 我猜这取决于您如何发出 JSONP 请求。例如,jQuery 会根据请求的 URL 是否为不同的 Origin 来改变它的策略,为您在常规 AJAX 和 JSONP 之间进行无形切换。在这种情况下,它可能会有所作为。但是如果直接使用 JSONP,响应来自哪里并不重要。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 2018-05-22
    • 2018-08-12
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    相关资源
    最近更新 更多