简体   繁体   中英

How to parse the data in JSON format

I am new to jquery ajax here in this code I take the form parameters and then i want them to parse in JSON format ..here is the code

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

here my problem is I am not getting my data in JSON format and after this I have to send that JSON data to controller add.htm....thanks in advance

Missed to {}
change = to :

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

Personally I use 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);
        }
    });
}

Can you try this:

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

You can retireve those paramaters in the server side ..

Now its working :)

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

}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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