[英]Angular http get(or) post not working with nodejs
當我在我的NodeJS應用程序中調用Angular http get(或)post時無法正常工作在控制台中沒有錯誤
login(model)
{
debugger
let options = new RequestOptions({
headers: new Headers({ 'Content-Type': 'application/json;charset=UTF-8' })
});
// var AppURL='https://staging.medicscloud.com/Dev/MedicsCloud/Mobile/MobileAuthentication/Login/?practiceID='+model.prccode;
return this.http.get('http://localhost:4006/api/user/login', model)
.map((response: Response) => {
// login successful if there's a jwt token in the response
let user = response.json();
if (user && user.token) {
// store user details and jwt token in local storage to keep user logged in between page refreshes
localStorage.setItem('currentUser', JSON.stringify(user));
}
}).subscribe();
//.subscribe();
}
我的nodejs代碼
router.get('/user/login/', function (req, res) {
console.log("hiiiiiiiiii "+req.body,req.query)
// common.testapi().then(function (rows) {
// if (rows) {
// res.end("");
// }
// }).fail(function (err) {
// console.error("displayreport..." + err.body);
// });
res.end("hiiiiiii");
});
您的map
函數不返回任何內容,我認為訂閱不可以那樣工作。
嘗試這個:
login(model)
{
debugger
let options = new RequestOptions({
headers: new Headers({ 'Content-Type': 'application/json;charset=UTF-8' })
});
// var AppURL='https://staging.medicscloud.com/Dev/MedicsCloud/Mobile/MobileAuthentication/Login/?practiceID='+model.prccode;
return this.http.get('http://localhost:4006/api/user/login', model)
.map((response: Response) => {
// login successful if there's a jwt token in the response
let user = response.json();
if (user && user.token) {
// store user details and jwt token in local storage to keep user logged in between page refreshes
localStorage.setItem('currentUser', JSON.stringify(user));
}
return user; //<- return something
}).subscribe((response)=> console.log(response));
//.subscribe();
}
同樣,您通常希望您的方法返回可觀測值,然后在需要它們的地方訂閱它們。 上面的代碼返回一個訂閱,如果您不熟悉異步操作,您會想知道為什么undefined
某些變量。
這必須是CORS問題。 向客戶端發送響應時,請確保在服務器端設置了以下標頭。 :
//您希望允許使用的域res.setHeader('Access-Control-Allow-Origin','*');
//請求您希望允許使用的方法res.setHeader('Access-Control-Allow-Methods','GET,POST,PUT,DELETE');
//如果需要網站在請求中包含cookie,則設置為true。res.setHeader('Access-Control-Allow-Credentials',true);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.