Eddie Shipman
asked on
JSON.stringify problems
In the code below, I am trying to send a JSON encoded javascript object.
However, when the object is json "stringified", it removes the eventcode, price and WaitingList values.
In the JSON result (json_data), all I see is the firstname, lastname, email for each particpant that was added.
How do I prevent this from happening. The eventcode, price and WaitingList values are global for all participants.
However, when the object is json "stringified", it removes the eventcode, price and WaitingList values.
In the JSON result (json_data), all I see is the firstname, lastname, email for each particpant that was added.
How do I prevent this from happening. The eventcode, price and WaitingList values are global for all participants.
window.particpants = [];
window.participants['eventcode'] = "GEVENT";
window.participants['price'] = 99.00;
window.participants['WaitingList'] = "";
if(waiting_list_flag) {
window.participants['WaitingList'] = "YES";
} else {
window.participants['WaitingList'] = "NO";
}
$('#next_btn').click(function() {
addParticipant(); // adds the last entered participant info to the participants object
var url = AJAX_URL_ADD
json_data = JSON.stringify(window.participants); // json encode the participants
$.ajax({async: false,
type:'POST',
url: url,
data: json_data,
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function(data){
if(data.result=='success') {
window.location = GOTO_URL;
} else {
//display error
$('.error_message').html(data.message);
} // if(data.result=='success')
} // success function()
}); // $.ajax
}); // $('#next_btn').click
// also called from another button click to add more participants
function addParticipant() {
var participant = {};
participant.firstname = $('#FirstName').val();
participant.lastname = $('#LastName').val();
participant.email = $('#Email').val();
window.participants.push(participant);
} // function addParticipant()
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Got it, missed that one. Also, modifying to this worked, is this better or should I do it like you did in the Fiddle?
window.participants.eventcode = "GEVENT";
window.participants.price = 99.00;
window.participants.WaitingList = "";
no problem with this syntax, if you like it adopt it.
forexample["this-is-not-po ssible-wit h-the-othe r-syntax"] = 10; // you can't : forexample.this-is-not-pos sible-with -this-synt ax = 10;
forexample["this-is-not-po
ASKER
Got it, thanks.
ASKER
Open in new window
If I leave it atOpen in new window
I getOpen in new window