[英]Reciving posted object node.js
我有一個對象:
var val = {username:'gilbertbw',password:'password',password2:'password',email:'email@email.com',firstname:'gilbert',lastname:'BW',test:true};
我對此進行了一些驗證,然后將其發布到我的node.js服務器中:
console.log(
$.ajax({
type: 'POST',
url: '/signup',
data: val,
success: function(){console.log('data posted')},
dataType: "json"
})
);
在服務器上,我嘗試僅調用對象val:
console.log(val.username);
然后像往常一樣將其從帖子中拉出:
val = req.param(val,null);
console.log(val.username);
但是兩次螢火蟲都吐出了500 ISE:
"{"error":{"message":"val is not defined","stack":"ReferenceError: val is not defined at exports.signup (C:\\Users\\Gilbert\\WebstormProjects\\NodeOfGames\\routes\\user.js:37:21)
如果我只是console.log(val);
它輸出null。問題所在的行是當我嘗試將val.username登錄到控制台時。 您如何在node.js中獲取發布的對象?
val
是客戶端變量。 服務器無法知道您將此對象命名為“ val”。
data: val
就像:
data: {username:'gilbertbw',password:'password',password2:'password',email:'email@email.com',firstname:'gilbert',lastname:'BW',test:true}
因此,沒有val
字段供您的服務器查找。
改為這樣做:
data: {
"val": val
}
編輯:
此外,您的行req.param(val,null);
應該是req.param("val",null);
或val = req.body.val;
( 參考 )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.