2017-02-28 81 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