【问题标题】:Communicating to server from Firefox extension从 Firefox 扩展程序与服务器通信
【发布时间】: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


【解决方案1】:

来自您的评论:

执行跨域请求时有来源限制。 JSONP 通常是跨域请求的解决方案,但它的局限性在于它是一个 GET 请求,对传输的数据有固有的限制(由于 URL 长度的实际限制)。 URL 长度的一般限制约为 2,000 个字符。理想情况下,我想做一个 POST 请求(以避免提交数据的限制)。

幸运的是,当从特权代码(如在 Firefox 扩展中)使用 XMLHttpRequest 时,这些来源限制不适用,因此您可以直接使用它。如果不起作用,请留下更多 cmets 或打开一个新问题。

https://developer.mozilla.org/En/Using_XMLHttpRequest

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-14
    • 2016-10-23
    • 2013-03-25
    • 2012-09-16
    • 2016-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多