标签: xmlhttprequest

在XDomainRequest或ActiveXObject('Microsoft.XMLHTTP')中设置标头

我正在尝试做这样的事情(W3兼容,DOM):

xhr.setRequestHeader( 'X-Requested-With', 'XMLHttpRequest' );
Run Code Online (Sandbox Code Playgroud)

对于ActiveXObject('Microsoft.XMLHTTP')XDomainRequest(IE8).我无法在微软文档甚至谷歌的任何地方找到它.知道我怎么能做到这一点?

javascript ajax internet-explorer xmlhttprequest xdomainrequest

18
推荐指数
1
解决办法
2万
查看次数

如何强制程序等待HTTP请求在JavaScript中完成?

有没有办法在JavaScript中向HTTP服务器发送HTTP请求并等待服务器响应回复?我希望我的程序等到服务器回复,而不是执行此请求之后的任何其他命令.如果HTTP服务器关闭,我希望在超时之后重复HTTP请求,直到服务器回复,然后程序的执行可以正常继续.

有任何想法吗?

提前谢谢你,Thanasis

javascript xmlhttprequest httprequest wait

18
推荐指数
3
解决办法
7万
查看次数

ArrayBuffer与Blob和XHR2

XHR2差异表明

传输ArrayBuffer,Blob,File和FormData对象的能力.

  • ArrayBufferBlob有什么区别?
  • 我为什么要关心能够通过XHR2发送它们?(我可以理解File和FormData的价值)

blob xmlhttprequest arraybuffer xmlhttprequest-level2

18
推荐指数
1
解决办法
4688
查看次数

NS_ERROR_FAILURE:Firefox失败

我正在使用javascript的XMLHttpRequest对象向另一个页面发送请求(不是在同一服务器或域名上)我在firefox中遇到ns_error_failure错误,但Javascript在Google Chrome中有效,在线搜索之后似乎是因为firefox的XSS政策.不允许跨域请求.

反正有没有解决这个问题,让JS在Chrome和Firefox中运行?


请随时询问您认为需要的其他详细信息!


这是我正在使用的代码.

"use strict";

function showFixed(username)
{
    console.log("Entered script");

    var url = 'https://api-dev.bugzilla.mozilla.org/latest/bug'
        + '?quicksearch='
        + encodeURIComponent('FIXED @'+username);
    displayBug(url);
}

function showPending(username)
{
    console.log("Entered script");

    var url = 'https://api-dev.bugzilla.mozilla.org/latest/bug'
        + '?quicksearch='
        + encodeURIComponent('@'+username);
    displayBug(url);
}

function showCC(username)
{
    console.log("Entered script");

    var url = 'https://api-dev.bugzilla.mozilla.org/latest/bug'
        + '?quicksearch='
        + encodeURIComponent('cc:'+username);
    displayBug(url);
}

function displayBug(url)
{
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.open("GET",url,false);
    xmlhttp.send();
    var text = xmlhttp.responseText;

    var json = JSON.parse(text);

    for(var i=0;i<json.bugs.length;i++)
    {
        var tempRow = document.createElement('tr');

        var tempId …
Run Code Online (Sandbox Code Playgroud)

javascript xss ajax firefox xmlhttprequest

18
推荐指数
1
解决办法
4万
查看次数

跨域资源共享(CORS)是否区分HTTP和HTTPS?

我有两个站点:https //:www.domain-only-uses-https.com和www.domain-uses-both-http-and-https.com

现在我在前者的页面中制作2个ajax GET请求到后者,一个是

https://www.domain-uses-both-http-and-https.com/some-path  (using the HTTPS scheme) 
Run Code Online (Sandbox Code Playgroud)

而另一个是

http://www.domain-uses-both-http-and-https.com/some-other-path (using the HTTP scheme)
Run Code Online (Sandbox Code Playgroud)

我将DID设置为"https //:www.domain-only-uses-https.com"作为服务器"www.domain-uses-both-http"中"Access-Control-Allow-Origin:"标头的值-and-https.com".

但现在似乎Chrome只允许请求1,但禁止请求2.

所以我的问题是:"Access-Control-Allow-Origin"标题是否区分HTTP和HTTPS?希望我已经明确了......

javascript http xmlhttprequest cors

18
推荐指数
1
解决办法
1万
查看次数

JavaScript对象(JSON)到URL字符串格式

我有一个类似的JSON对象

{
    "version" : "22",
    "who: : "234234234234"
}
Run Code Online (Sandbox Code Playgroud)

我需要它在一个准备好作为原始http正文请求发送的字符串中.

所以我需要它看起来像

version=22&who=234324324324
Run Code Online (Sandbox Code Playgroud)

但是,对于无数的参数,它需要在我得到的那一刻起作用

app.jsonToRaw = function(object) {
    var str = "";
    for (var index in object) str = str + index + "=" + object[index] + "&";
    return str.substring(0, str.length - 1);
};
Run Code Online (Sandbox Code Playgroud)

但是在本机js中必须有更好的方法吗?

谢谢

javascript json native xmlhttprequest

18
推荐指数
1
解决办法
2万
查看次数

Chrome没有发送if-none-match

我正在尝试向我的REST API发出请求,我对Firefox没有任何问题,但在Chrome中我无法让浏览器工作,总是抛出200 OK,因为没有if-none-match(或类似的)标头被发送到服务器.

Chrome请求

使用Firefox我304完美无缺.

Firefox请求

我想我错过了一些东西,我试着Cache-Control: max-age=10测试但没有.

firefox etag caching google-chrome xmlhttprequest

18
推荐指数
3
解决办法
7567
查看次数

使用Web worker的最大http请求数

我知道浏览器中一次可能发生的并发http连接数量有限制...

这是浏览器的总体限制吗?网络工作者是否也受到这个限制,或者因为它们是不同的线程而被区别对待?

javascript xmlhttprequest web-worker

18
推荐指数
1
解决办法
2466
查看次数

XMLHttpRequest抛出InvalidSateError,说"必须打开对象状态"

代码 -

"use strict";

var AJAX = function (params) {
    this.server ={};
    this.url = params.url;
    this.method = params.method;
    this.dataType = params.dataType;
    this.formData = params.formData;

    this.init = function(){
        if(typeof XMLHttpRequest != 'undefined'){
            this.server = new XMLHttpRequest();
            this.server.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
            this.server.setRequestHeader('Content-length', this.formData.length);
            this.server.setRequestHeader('Connection', 'close');
            console.log("XMLHttpRequest created.");
            return true;
        }
    };

    this.send = function(){
        if(this.init()){
            this.server.open(this.method, this.url, true);
            this.server.send(this.formData);
        }
    };

};
Run Code Online (Sandbox Code Playgroud)

它抛出以下错误:

Error in event handler for contextMenus: InvalidStateError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': The object's state must be OPENED.
Run Code Online (Sandbox Code Playgroud)

如何使用 - …

javascript ajax xmlhttprequest

18
推荐指数
2
解决办法
5万
查看次数

使用xhr轮询时如何解决Chrome的6连接限制

我最近发现Chrome的连接数限制为6(Chrome在传输一定数量的数据后挂起 - 等待可用的套接字),不幸的是,我在加载后通过"等待可用的套接字"消息发现了这一点.太多标签(7).

我知道这是Chrome,因为另一个Chrome用户(也就是另一个浏览器会话)同时在同一台计算机上完全加载网页(我的计算机上打开了多个Chrome用户).所以它不是服务器的任何方式.

我相信这是因为,在socket.io(我用于通知)中,我是xhr-polling,这导致Chrome必须等到它可以从其中一个连接中获取套接字才能处理页面.

这是什么解决方案?

我想到了几个解决方案:

  • 使xhr-polling窗口变小,这会增加浏览器和node.js中的连接,但这意味着页面不会停止.
  • 使用websockets.我不确定websockets是否也能解决这个问题.
  • 在未聚焦的选项卡上使连接处于非活 虽然看起来其他网站不必这样做......
  • 使用某种连接共享.考虑到Chrome将websockets和xhr请求隔离到选项卡,我发现很难理解它是如何工作的.

作为一个补充点:我从一开始就没有使用websockets的原因是因为我使用了cloudflare.但如果这是解决问题的方法那么:就这样吧.

google-chrome xmlhttprequest websocket socket.io

18
推荐指数
1
解决办法
2万
查看次数