2017-02-28 134 views
0

我需要调用http请求跨域,我可以通过$.ajax成功使用下面的代码。该请求基于基本认证,它的工作原理。HTTP请求在Nodejs中的跨域

$.ajax({ 
 
    type: "GET", 
 
    url: "https://" + username + ":" + password + "@/api/systems", 
 
    //crossDomain: true, 
 
    dataType: 'jsonp', 
 
    async: true 
 
}).done(function (result) { 
 
    $("#div1").html(JSON.stringify(result.data)); 
 
});

但是,我无法得到它工作在服务器上运行的NodeJS。我的代码如下:

var request = require('request'); 
 
var url = "https://" + username + ":" + password + "@/api/systems"; 
 
var option = { 
 
    url: url, 
 
    auth: { 
 
     user: username, 
 
     password: password 
 
    } 
 
}; 
 
request(option, 
 
    function (error, response, body) { 
 
     console.log(body); 
 
    } 
 
);

它总是返回Error 401 Unauthorized。 你能否告诉我如何在nodejs中获得它?

谢谢先进。

+0

退房http://stackoverflow.com/questions/11181546/how-to-enable-cross-origin-resource-sharing-cors -in-the-express-js-framework-o – fanshaoer

+0

你使用的是基本身份验证吗? –

+0

是的。用户名:密码通过URL传递。 – duongkha

回答

0

使用新公共管理 “CORS”,把它作为中间件 https://www.npmjs.com/package/cors

+0

我启用了cors,但仍然没有运气。我发现身份验证头尚未发送到请求的服务器。你有想法解决它吗? – duongkha