我正在尝试做这样的事情(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
有没有办法在JavaScript中向HTTP服务器发送HTTP请求并等待服务器响应回复?我希望我的程序等到服务器回复,而不是执行此请求之后的任何其他命令.如果HTTP服务器关闭,我希望在超时之后重复HTTP请求,直到服务器回复,然后程序的执行可以正常继续.
有任何想法吗?
提前谢谢你,Thanasis
XHR2差异表明
传输ArrayBuffer,Blob,File和FormData对象的能力.
我正在使用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) 我有两个站点: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?希望我已经明确了......
我有一个类似的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中必须有更好的方法吗?
谢谢
我正在尝试向我的REST API发出请求,我对Firefox没有任何问题,但在Chrome中我无法让浏览器工作,总是抛出200 OK,因为没有if-none-match(或类似的)标头被发送到服务器.

使用Firefox我304完美无缺.

我想我错过了一些东西,我试着Cache-Control: max-age=10测试但没有.
我知道浏览器中一次可能发生的并发http连接数量有限制...
这是浏览器的总体限制吗?网络工作者是否也受到这个限制,或者因为它们是不同的线程而被区别对待?
代码 -
"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)
如何使用 - …
我最近发现Chrome的连接数限制为6(Chrome在传输一定数量的数据后挂起 - 等待可用的套接字),不幸的是,我在加载后通过"等待可用的套接字"消息发现了这一点.太多标签(7).
我知道这是Chrome,因为另一个Chrome用户(也就是另一个浏览器会话)同时在同一台计算机上完全加载网页(我的计算机上打开了多个Chrome用户).所以它不是服务器的任何方式.
我相信这是因为,在socket.io(我用于通知)中,我是xhr-polling,这导致Chrome必须等到它可以从其中一个连接中获取套接字才能处理页面.
这是什么解决方案?
我想到了几个解决方案:
作为一个补充点:我从一开始就没有使用websockets的原因是因为我使用了cloudflare.但如果这是解决问题的方法那么:就这样吧.
xmlhttprequest ×10
javascript ×7
ajax ×3
firefox ×2
arraybuffer ×1
blob ×1
caching ×1
cors ×1
etag ×1
http ×1
httprequest ×1
json ×1
native ×1
socket.io ×1
wait ×1
web-worker ×1
websocket ×1
xss ×1