Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ajax调用中的嵌套json传递_Javascript_Jquery_Json_Node.js_Ajax - Fatal编程技术网

Javascript 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

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

{
  '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。后端还没有任何内容。