Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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加载项是否有更强大的XMLHttpRequest替代方案?_Javascript_Firefox_Xmlhttprequest_Firefox Addon - Fatal编程技术网

Javascript Firefox加载项是否有更强大的XMLHttpRequest替代方案?

Javascript Firefox加载项是否有更强大的XMLHttpRequest替代方案?,javascript,firefox,xmlhttprequest,firefox-addon,Javascript,Firefox,Xmlhttprequest,Firefox Addon,我目前正在为Firefox编写一个插件,它使用XMLHttpRequest向远程服务器发送一些HTTP请求。但是,我遇到了以下限制: XMLHttpRequest透明地遵循HTTP 3xx重定向(这是不需要的) xmlHttpRequestst忽略某些头的setRequestHeader(例如用户代理) HTTP基本身份验证也由浏览器处理—提示用户输入凭据,但无法禁用此行为 出于这些原因(可能还有其他原因),我正在寻找从Firefox插件中发送HTTP请求的替代方法。我已经环顾了MDN很多地

我目前正在为Firefox编写一个插件,它使用
XMLHttpRequest
向远程服务器发送一些HTTP请求。但是,我遇到了以下限制:

  • XMLHttpRequest
    透明地遵循HTTP 3xx重定向(这是不需要的)
  • xmlHttpRequests
    t忽略某些头的
    setRequestHeader
    (例如
    用户代理
  • HTTP基本身份验证也由浏览器处理—提示用户输入凭据,但无法禁用此行为
出于这些原因(可能还有其他原因),我正在寻找从Firefox插件中发送HTTP请求的替代方法。我已经环顾了MDN很多地方,但没有发现任何似乎能满足我需求的东西

这样一个阶级存在吗


注意:我没有使用SDK。

我会继续使用
XHR
,但会设置自己的通知回调并直接在频道上操作标题

每个
XHR
都有一个通道,它(通常)是a,它也是a(除其他外)

下面应该包括你的第二点

var req = new XMLHttpRequest();
if (req.channel instanceof Ci.nsIHttpChannel) {
  req.channel.setRequestHeader("User-Agent", "helloworldbot/1.0", false);
}
我以前在Scriptish中允许用户忽略重定向,这或多或少是您的第一点

auth的东西有点恶心。您可以将
XHR.open()
与可选的用户/密码参数一起使用,或者自己构造auth头和/或通过通知回调实现
nsIAuthPrompt
/
nsIPrompt

如果
XHR
还有其他问题,尽管XHR提供的所有好处都不存在了,但您仍然可以使用普通的、低级的
频道(
nsioservice.newChannel…()


由于您的问题太不具体,我现在不想详细说明。

我会继续使用
XHR
,但会设置自己的通知回调,并直接在频道上操作标题

每个
XHR
都有一个通道,它(通常)是a,它也是a(除其他外)

下面应该包括你的第二点

var req = new XMLHttpRequest();
if (req.channel instanceof Ci.nsIHttpChannel) {
  req.channel.setRequestHeader("User-Agent", "helloworldbot/1.0", false);
}
我以前在Scriptish中允许用户忽略重定向,这或多或少是您的第一点

auth的东西有点恶心。您可以将
XHR.open()
与可选的用户/密码参数一起使用,或者自己构造auth头和/或通过通知回调实现
nsIAuthPrompt
/
nsIPrompt

如果
XHR
还有其他问题,尽管XHR提供的所有好处都不存在了,但您仍然可以使用普通的、低级的
频道(
nsioservice.newChannel…()


由于您的问题太不具体,我现在不想详细说明。

我会继续使用
XHR
,但会设置自己的通知回调,并直接在频道上操作标题

每个
XHR
都有一个通道,它(通常)是a,它也是a(除其他外)

下面应该包括你的第二点

var req = new XMLHttpRequest();
if (req.channel instanceof Ci.nsIHttpChannel) {
  req.channel.setRequestHeader("User-Agent", "helloworldbot/1.0", false);
}
我以前在Scriptish中允许用户忽略重定向,这或多或少是您的第一点

auth的东西有点恶心。您可以将
XHR.open()
与可选的用户/密码参数一起使用,或者自己构造auth头和/或通过通知回调实现
nsIAuthPrompt
/
nsIPrompt

如果
XHR
还有其他问题,尽管XHR提供的所有好处都不存在了,但您仍然可以使用普通的、低级的
频道(
nsioservice.newChannel…()


由于您的问题太不具体,我现在不想详细说明。

我会继续使用
XHR
,但会设置自己的通知回调,并直接在频道上操作标题

每个
XHR
都有一个通道,它(通常)是a,它也是a(除其他外)

下面应该包括你的第二点

var req = new XMLHttpRequest();
if (req.channel instanceof Ci.nsIHttpChannel) {
  req.channel.setRequestHeader("User-Agent", "helloworldbot/1.0", false);
}
我以前在Scriptish中允许用户忽略重定向,这或多或少是您的第一点

auth的东西有点恶心。您可以将
XHR.open()
与可选的用户/密码参数一起使用,或者自己构造auth头和/或通过通知回调实现
nsIAuthPrompt
/
nsIPrompt

如果
XHR
还有其他问题,尽管XHR提供的所有好处都不存在了,但您仍然可以使用普通的、低级的
频道(
nsioservice.newChannel…()


由于你的问题太不具体,我现在不想再详细说明了。

这正是我需要的。谢谢这正是我需要的。谢谢这正是我需要的。谢谢这正是我需要的。谢谢