繁体   English   中英

如何解析JSON格式的数据

[英]How to parse the data in JSON format

我是这段代码中jQuery ajax的新手,我采用了形式参数,然后希望它们以JSON格式进行解析..这是代码

     function doAjaxPost() {  
         var name = $('#name').val();
         var password = $('#password').val();
         var gender = $('#gender').val();
         var aboutYou = $('#aboutYou').val();


        $.ajax({  
          type: "POST", 
          contentType:'application/json',
          url: "add.htm",
          dataType:'json',
          data: "name=" + name + "&password=" + password + "&gender=" + gender + "&aboutYou=" + aboutYou, 
          success: function(data){
          alert('name : '+name);
          },  
          error: function(e){  
          alert('Error: ' + e);  
    }  
  });  
}  

在这里,我的问题是我没有获取JSON格式的数据,此后,我必须将该JSON数据发送到控制器add.htm ....

错过了{}
=更改为:

data: {"name" : name , "password" : password , "gender" : gender , "aboutYou" : aboutYou}

我个人使用JSON.Stringify

function doAjaxPost() {  
         var name = $('#name').val();
         var password = $('#password').val();
         var gender = $('#gender').val();
         var aboutYou = $('#aboutYou').val();

         var parameters = 
     {
        name: name,
        password: password,
        gender: gender,
        aboutYou: aboutYou
     };


    $.ajax({  
      type: "POST", 
      contentType:'application/json',
      url: "add.htm",
      dataType:'json',
      data: JSON.stringify(parameters),
      success: function(data){
      alert('name : '+name);
      },  
      error: function(e){  
      alert('Error: ' + e);  
}  

});
}

function doAjaxPost() {
    var name = $('#name').val();
    var password = $('#password').val();
    var gender = $('#gender').val();
    var aboutYou = $('#aboutYou').val();

    $.ajax({
        type: "POST",
        contentType:'application/json',
        url: "add.htm", // probably something like add.php!?
        dataType:'json',
        data: {
            name: name,
            password: password,
            gender: gender,
            aboutYou: aboutYou
        }, 
        success: function(data){
            console.log('success', data);
            alert('name : '+name); // this is probably wrong - you already know the name
        },
        error: function(e){
            console.log('error', arguments[0], arguments[1], arguments[2]);
            alert('Error: ' + e);
        }
    });
}

你可以尝试一下:

  $.ajax({  
          type: "POST", 
          contentType:'application/json',
          url: "add.htm",
          dataType:'json',
          data:{name:name,password:password,gender:gender,aboutYou:aboutYou}, 
          success: function(data){
          alert('name : '+name);
          },  
          error: function(e){  
          alert('Error: ' + e);  
    }  
  });  

您可以在服务器端撤消这些参数。

现在可以正常工作了:)

function doAjaxPost() {  
     var name = $('#name').val();
     var password = $('#password').val();
     var gender = $('#gender').val();
     var aboutYou = $('#aboutYou').val();
     var your_data ={name: name ,password:password,  gender: gender  ,aboutYou:     aboutYou};


    $.ajax({  
      type: "POST", 
      contentType:'application/json',
      url: "add.htm",
      dataType:'json',
      data:your_data , 
      success: function(data){
      alert('name : '+name);
      },  
      error: function(e){  
      alert('Error: ' + e);  
}  
});  

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM