【发布时间】:2011-06-02 05:25:53
【问题描述】:
我希望通过 Firefox 扩展向服务器上的 PHP 脚本发出 HTTP POST 请求,并获得 JSON 作为回报。理想情况下,我希望在一个请求中发送到服务器的数据量对于 GET 请求来说太大了(由于实际的 URL 长度限制)。因此,我不能将 JSONP 与 GET 请求一起使用。
是否可以访问任何本机 Firefox 浏览器组件以向服务器发出 POST 请求,还是必须使用 XMLHttpRequest? (此扩展正在为 Firefox 4 开发。)
【问题讨论】:
-
XMLHttpRequest 是最简单的方法。不过,您似乎不想使用 XMLHttpRequest —— 为什么不呢?
-
@MatrixFrog:执行跨域请求时有来源限制。 JSONP 通常是跨域请求的解决方案,但它的局限性在于它是一个 GET 请求,对传输的数据有固有的限制(由于 URL 长度的实际限制)。 URL 长度的一般限制约为 2,000 个字符。理想情况下,我想做一个 POST 请求(以避免提交数据的限制)。
-
当您从特权代码(如 Firefox 插件)发出 XMLHttpRequests 时,这些限制不适用。
-
@MatrixFrog:好的。随意添加它作为我的问题的答案。我会对其进行测试以验证,如果它确实有效,我会接受你的答案,但我相信你是正确的。
标签: javascript http firefox-addon