Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Firefox扩展与服务器通信_Javascript_Http_Firefox Addon - Fatal编程技术网

Javascript 从Firefox扩展与服务器通信

Javascript 从Firefox扩展与服务器通信,javascript,http,firefox-addon,Javascript,Http,Firefox Addon,我希望从Firefox扩展向服务器上的PHP脚本发出HTTP POST请求,并获得JSON作为回报。理想情况下,我希望在一个请求中发送到服务器的数据量对于GET请求来说太大(由于实际的URL长度限制)。因此,我不能将JSONP与GET请求一起使用 是否可以访问任何本机Firefox浏览器组件以向服务器发出POST请求,或者必须使用XMLHttpRequest?(此扩展是为Firefox4开发的。)根据您的评论: 在执行跨域请求时存在源限制。JSONP通常是跨不同域执行请求的解决方案,但它的局限性

我希望从Firefox扩展向服务器上的PHP脚本发出HTTP POST请求,并获得JSON作为回报。理想情况下,我希望在一个请求中发送到服务器的数据量对于GET请求来说太大(由于实际的URL长度限制)。因此,我不能将JSONP与GET请求一起使用

是否可以访问任何本机Firefox浏览器组件以向服务器发出POST请求,或者必须使用XMLHttpRequest?(此扩展是为Firefox4开发的。)

根据您的评论:

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

幸运的是,当从特权代码(比如在Firefox扩展中)使用XMLHttpRequest时,这些源代码限制不适用,所以您可以直接使用它。如果不起作用,请留下更多评论或提出新问题


XMLHttpRequest是最简单的方法。不过,您似乎不想使用XMLHttpRequest——为什么不呢?@MatrixFrog:在执行跨域请求时,存在源限制。JSONP通常是跨不同域执行请求的解决方案,但它的局限性在于它是一个GET请求,对传输的数据有固有的限制(由于URL长度的实际限制)。URL长度的一般限制约为2000个字符。理想情况下,我希望执行一次POST请求(以避免对提交的数据的限制)。当您从特权代码(如Firefox插件)生成XMLHttpRequests时,这些限制不适用。@MatrixFrog:好的。请随意补充,作为我问题的答案。我将测试它以验证它,如果它确实有效,我将接受你的答案,尽管我相信你是正确的。