mohit tomar
mohit tomar

Reputation: 37

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

Upvotes: 1

Views: 166

Answers (5)

hgoebl
hgoebl

Reputation: 13007

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

Upvotes: 1

Suraj Rawat
Suraj Rawat

Reputation: 3763

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

}

Upvotes: 0

Praveen
Praveen

Reputation: 56539

Missed to {}
change = to :

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

Upvotes: 4

Liath
Liath

Reputation: 10191

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

});
}

Upvotes: 1

Sai Avinash
Sai Avinash

Reputation: 4753

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 ..

Upvotes: 0

Related Questions