gpt4 book ai didi

javascript - 嵌套 json 传入 ajax 调用

转载 作者:行者123 更新时间:2023-12-03 03:53:22 25 4
gpt4 key购买 nike

我必须通过 AJAX 传递嵌套 JSON,并且示例请求应采用以下格式:

{
'user': {
'email': email,
'password': password
}
}
login(){
var email=document.getElementById('username').value;
var password=document.getElementById('password').value;
var user_details={
'email':email,
'password':password
}

var myString=JSON.stringify(user_details);
var param="{'user':"+user_details+"}";
//console.log(param);

$.ajax({
type:'POST',
url:'/newuser',
data:param,
dataType:"json",
success:function (argument) {
console.log(user_details);

}
})

但这会引发错误。我也尝试这样做

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
}
});
});

如果这仍然导致错误,则错误一定出在您的服务器端代码上。您应该检查响应和/或错误日志以确定问题的原因。

关于javascript - 嵌套 json 传入 ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45073645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com