Javascript ajax调用中的嵌套json传递
我必须通过AJAX传递嵌套的JSON,示例请求应采用以下格式:Javascript ajax调用中的嵌套json传递,javascript,jquery,json,node.js,ajax,Javascript,Jquery,Json,Node.js,Ajax,我必须通过AJAX传递嵌套的JSON,示例请求应采用以下格式: { 'user': { 'email': email, 'password': password } } 登录{ var email=document.getElementById'username'。值; var password=document.getElementById'password'。值; var用户详细信息={ “电子邮件”:电子邮件, “密码”:密码 } var myString=JS
{
'user': {
'email': email,
'password': password
}
}
登录{
var email=document.getElementById'username'。值;
var password=document.getElementById'password'。值;
var用户详细信息={
“电子邮件”:电子邮件,
“密码”:密码
}
var myString=JSON.stringifyuser\u详细信息;
var param={'user':+user_details+};
//console.logparam;
$.ajax{
类型:'POST',
url:“/newuser”,
数据:param,
数据类型:json,
成功:函数参数{
console.loguser_详细信息;
}
}
但这是一个错误。
我也试过这样做
var user_details={
'email':email,
'password':password
}
$.ajax({
type:'POST',
url:'/newuser',
data:JSON.stringify({'user':user_details}),
dataType:"json",
success:function (argument) {
console.log(user_details);
}
})
但这也没用。我一直收到内部服务器错误。
与现在相同的服务器端代码为:
app.post('/newuser', function(req, res) {
//console.log(req.body);
var obj=JSON.parse(req.body);
console.log(obj);
我该怎么办?当您试图将对象附加到字符串时,您的第一个代码示例很可能会抛出错误,这将导致与所需完全不同的输出 相反,您可以将整个对象传递给jQuery,它将为您序列化它。请尝试以下操作:
function login() {
$.ajax({
type: 'POST',
url: '/newuser',
data: {
user: {
'email': $('#username').val(),
'password': $('#password').val()
}
},
dataType: "json",
success: function(argument) {
console.log(argument); // note use 'argument' here to get the returned data
}
});
});
如果这仍然导致错误,那么错误必须与服务器端代码有关。您应该检查响应和/或错误日志,以确定问题的原因。错误消息会说什么?internal server error@Endlessdoes jquery允许您通过数据传递嵌套的json?是的,绝对可以。请注意,这没有任何意义对于jQuery,它是JSON标准。@Rory可能是您必须将json@azad不,jQuery为您做了这件事。我也收到了错误@rorymcrossan。后端还没有任何内容。