Reputation: 37
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
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
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
Reputation: 56539
Missed to {}
change =
to :
data: {"name" : name , "password" : password , "gender" : gender , "aboutYou" : aboutYou}
Upvotes: 4
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
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