Javascript 如何禁用';有证书';在HTTP标头中包含node.js和请求包?

Javascript 如何禁用';有证书';在HTTP标头中包含node.js和请求包?,javascript,node.js,http,xmlhttprequest,request,Javascript,Node.js,Http,Xmlhttprequest,Request,使用node.js和来自浏览器(via)的包,我使用CORS在单独的域上执行httpget请求 在服务器上,当我将'Access-Control-Allow-Origin'设置为通配符'*'时,客户端出现以下错误: XMLHttpRequest无法加载。。。。不能在中使用通配符“*” 启用凭据标志时的“访问控制允许来源”标题 对。因此,不允许访问源“…” HTTP请求标头如下所示: Accept:*/* Accept-Encoding:gzip,deflate,sdch Accept-Langu

使用node.js和来自浏览器(via)的包,我使用CORS在单独的域上执行httpget请求

在服务器上,当我将
'Access-Control-Allow-Origin'
设置为通配符
'*'
时,客户端出现以下错误:

XMLHttpRequest无法加载。。。。不能在中使用通配符“*” 启用凭据标志时的“访问控制允许来源”标题 对。因此,不允许访问源“…”

HTTP请求标头如下所示:

Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8,ja;q=0.6
Access-Control-Request-Headers:withcredentials
Access-Control-Request-Method:GET
Cache-Control:no-cache
Connection:keep-alive
Host:localhost:3000
Origin:http://localhost:9966
Pragma:no-cache
Referer:http://localhost:9966/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36
很明显,问题是
访问控制请求头:头中有凭证,对吗

为了能够删除此项,我需要将“XMLHttpRequest”对象的“withcredentials”属性设置为“false”。但是,我无法确定node.js或请求包在何处创建“XMLHttpRequest”对象,以及如何访问该对象


谢谢。

经过一些调查,我发现
with credentials
设置可以通过选项参数对象传入:

var req = http.request({
    withCredentials: false
}, function(res) {
    //...
});

req.end();
如果
未定义
,默认设置为
true

参考http browserify/lib/request.js
来源:

if (typeof params.withCredentials === 'undefined') {
    params.withCredentials = true;
}

try { xhr.withCredentials = params.withCredentials }
catch (e) {}

它不在文档中,但是看看
request
使用
httpbrowserify
的方式,我认为您应该能够执行
req.withCredentials=false之前编写
结束
@loganfsmyth谢谢您的帮助!它把我引向了正确的方向。答案贴在下面。