标签: xmlhttprequest

为什么 XMLHttpRequest 对象的属性只能通过 console.log() 打印?

var obj = new XMLHttpRequest();
console.log("Object.keys():",Object.keys(obj));
console.log("Object.getOwnPropertyNames():",Object.getOwnPropertyNames(obj))
console.log("Object.entries():",Object.entries(obj))
console.log("JSON.stringify():",JSON.stringify(obj))

console.log("console.log:"); console.log(obj)
Run Code Online (Sandbox Code Playgroud)

输出:

Object.keys(): []
Object.getOwnPropertyNames(): []
Object.entries(): []
JSON.stringify(): {}
console.log:
XMLHttpRequest {onreadystatechange: null, readyState: 0, timeout: 0, withCredentials: false, 上传: XMLHttpRequestUpload, ...}

如何在 javascript 中创建这样一个对象,其属性仅使用 打印console.log(obj),但不由上述任何函数返回?

我已经尝试使用constructor function, object.create()(with enumerable:false), Object.assign(), using来创建对象,getters从类中初始化,从扩展类中初始化等

javascript prototype xmlhttprequest prototypal-inheritance ecmascript-6

17
推荐指数
1
解决办法
544
查看次数

如何在Javascript中删除HTTP特定标头

是否有可能在发送http消息之前,使用javascript/XmlHttpRequest删除一些特定的http标头?

我使用的是专有浏览器,因此没有办法使用特定于浏览器的解决方案.

例如,我想在发送消息之前删除标题'Authorization'

POST /social/rpc?oauth_version=1.0& ... HTTP/1.1

Accept: text/html, image/png, image/*, */*
Accept-Language: ko
Authorization: Basic Og==
Host: test.myhost.com
Run Code Online (Sandbox Code Playgroud)

问候

javascript ajax xmlhttprequest http-headers

16
推荐指数
2
解决办法
3万
查看次数

如何让XHR.onreadystatechange返回其结果?

我是JavaScript编程的新手.我现在正在处理我的Google Chrome扩展程序.这是不起作用的代码......:P

我希望getURLInfo函数返回其JSON对象,并希望将其放入resp.有人可以修改我的代码让它工作吗?

function getURLInfo(url)
{
    var xhr = new XMLHttpRequest();
    xhr.open
        (
            "GET",
            "http://RESTfulAPI/info.json?url="
                + escape(url),
            true
        );
    xhr.send();
    xhr.onreadystatechange = function()
    {
        if (xhr.readyState == 4)
        {
            return JSON.parse(xhr.responseText);
        }
    }
}
var resp = getURLInfo("http://example.com/") // resp always returns undefined...
Run Code Online (Sandbox Code Playgroud)

提前致谢.

javascript closures xmlhttprequest

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

使用带有网址的javascript获取HTML代码

我试图通过使用带有url的xmlhttprequest来获取html的源代码.有没有人可以帮我这个?我是编程新手,我不太清楚如果没有jQuery我怎么能这样做.提前致谢.

html javascript ajax url xmlhttprequest

16
推荐指数
3
解决办法
11万
查看次数

在用户脚本中使用XMLHttpRequest下载图像

首先,在SO上有一个相同标题的问题,但它不是我正在寻找的,也没有完整的答案.

所以这是我的问题.假设我有这个指向图像的URL.

https://fbcdn-photos-a.akamaihd.net/hphotos-ak-ash4/299595_10150290138650735_543370734_8021370_355110168_n.jpg
Run Code Online (Sandbox Code Playgroud)

一旦我将此参数放在?dl=1URL的末尾,它就可以下载了.

https://fbcdn-photos-a.akamaihd.net/hphotos-ak-ash4/299595_10150290138650735_543370734_8021370_355110168_n.jpg?dl=1
Run Code Online (Sandbox Code Playgroud)

我正在尝试通过用户脚本执行此任务.所以我使用了XMLHttpRequest.

var url = "https://fbcdn-photos-a.akamaihd.net/hphotos-ak-ash4/299595_10150290138650735_543370734_8021370_355110168_n.jpg?dl=1";

var request = new XMLHttpRequest();  
request.open("GET", url, false);   
request.send(null);  

if (request.status === 200) 
{  
    alert(request.statusText);
}
Run Code Online (Sandbox Code Playgroud)

这是一个小提琴.

但它不起作用.

javascript xmlhttprequest download userscripts

16
推荐指数
2
解决办法
4万
查看次数

google-chrome中的XMLHttpRequest不报告进度事件

大家好我有这个代码:

function test()
{
    req = new XMLHttpRequest();
    req.upload.addEventListener("progress", updateProgress, false);
    req.addEventListener("readystatechange", updateProgress, false);
    req.addEventListener("error", uploadFailed, false);
    req.addEventListener("abort", uploadCanceled, false);

    var data = generateRandomData(currentPayloadId);
    totalSize = data.length;

    req.open("POST", "www.mydomain.com/upload.aspx");
    start = (new Date()).getTime();
    req.send(data);
}

function updateProgress(evt)
{
    if (evt.lengthComputable) {
        total = totalSize = evt.total;
        loaded = evt.loaded;
    }
    else {
        total = loaded = totalSize;
    }
}
Run Code Online (Sandbox Code Playgroud)

此外,我的服务器响应了对于upload.aspx的初始OPTIONS请求200和Access-Control-Allow-Origin:*然后第二个请求POST发生

一切似乎都已到位,它在FireFox上运行良好,但在G Chrome上,updateProgress处理程序不会被调用但只调用一次,然后lengthComputable为false.

我需要Access-Control-Allow-Origin:*因为这是一个跨域调用,脚本父级是不同服务器上的资源,然后是upload.aspx域

任何人都可以给我一些线索,提示,请帮忙吗?这是G Chrome的一个已知问题吗?

谢谢!OVA

javascript security google-chrome xmlhttprequest updateprogress

16
推荐指数
1
解决办法
2565
查看次数

为什么ProgressEvent.lengthComputable为false?

我正在使用Google Chrome,Safari和Firefox中的XMLHttpRequest加载JSON文件.我收到ProgressEvent的所有三个浏览器都正确显示了该.loaded属性.但是该.lengthComputable属性为false且.total属性为零.我已经检查过Content-LengthHTTP标头是否正在发送并且是正确的 - 它是.响应是gzip编码的,但Content-length正确显示编码长度(在解压缩之前).

为什么我的ProgressEvents中总长度不可用?

以下是标题:

HTTP/1.1 200 OK
ETag: "hKXdZA"
Date: Wed, 20 Jun 2012 20:17:17 GMT
Expires: Wed, 20 Jun 2012 20:17:17 GMT
Cache-Control: private, max-age=3600
X-AppEngine-Estimated-CPM-US-Dollars: $0.000108
X-AppEngine-Resource-Usage: ms=2 cpu_ms=0 api_cpu_ms=0
Content-Type: application/json
Content-Encoding: gzip
Server: Google Frontend
Content-Length: 621606
Run Code Online (Sandbox Code Playgroud)

注意:该文件通过Google App Engine提供.

这是JavaScript:

var req;
if (window.XMLHttpRequest){
    req = new XMLHttpRequest();
    if(req.overrideMimeType){
        req.overrideMimeType( "text/json" );
    }
}else{
    req = new ActiveXObject('Microsoft.XMLHTTP');
} …
Run Code Online (Sandbox Code Playgroud)

javascript xmlhttprequest

16
推荐指数
3
解决办法
2万
查看次数

如何在wampserver上允许ACCESS-CONTROL-ALLOW-ORIGIN又称跨域

XMLHttpRequest无法加载https://webservice.com?param=hahah.Access-Control-Allow-Origin不允许来源http:// {domain}.

当我尝试通过wampserver进行web服务调用时,我得到了这个,我怎么能在wampserver上启用它?

或者我怎么可能只是jsonP获取xml数据而没有javascript抛出错误.

wamp xmlhttprequest wampserver cors

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

如何将基本身份验证标头分配给XMLHTTPREQUEST?

我已经阅读了很多关于预检和CORS的答案,所以请不要发布引用我应该阅读的内容的链接.许多答案来自服务器视角,但在这种情况下我是客户端.我是否设置了原始标题?我的假设是这是一个简单的请求,对吗?

 req.open("POST", url, true);
 req.setRequestHeader( 'Content-Type',   'application/blahblah' );
 req.setRequestHeader( 'Accept', 'application/blahblah' );
 req.setRequestHeader("Authorization", "Basic " + btoa(user + ":" + pass)); 
 req.send();
Run Code Online (Sandbox Code Playgroud)

但它仍然无法正常工作,我的错误:

对预检请求的响应未通过访问控制检查:请求的资源上不存在"Access-Control-Allow-Origin"标头.因此不允许原点'null'访问.响应的HTTP状态代码为500.

javascript restful-authentication xmlhttprequest

16
推荐指数
4
解决办法
6万
查看次数

在get request angular 2上设置标题

我尝试将Authorization标头设置为GET请求,以将用户身份验证为其他API.我正在使用Angular 2 RC1.(我是初学者).

getTest(){
    let authToken = localStorage.getItem('auth_token');
    let headers = new Headers({ 'Content-Type': 'application/json' });
    headers.append('Authorization', `Bearer ${authToken}`);

    let options = new RequestOptions({ headers: headers });
    return this._http
      .get(this._url,options)
      .map(res => console.log(res));
  }
Run Code Online (Sandbox Code Playgroud)

我在后端允许CORS.

header("Access-Control-Allow-Origin: *");
header("Access-Control-Request-Headers: Content-Type, Authorization");
Run Code Online (Sandbox Code Playgroud)

我的控制台:

选项api/userProfile /

XMLHttpRequest无法加载/ userProfile /.预检的响应具有无效的HTTP状态代码406

我的请求标题

任何的想法 ?

get header xmlhttprequest cors angular

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