SyntaxError: JSON.parse: unexpected character
I have a JSON parse error that I can't debug. Code below:
$(document).on('submit', '#confirmreset', function(event) {
event.preventDefault();
var action_url = $(this).attr("action");
alert_box_register("Resetting password...");
console.log(action_url);
var postData = $(this).serializeArray();
console.log(postData);
$.post(action_url, postData, function(data) {
console.log(data);
var obj = $.parseJSON(data);
alert_box_register(obj.message);
});
});
And the JSON:
{
"status": "success",
"message": "A temporary password has been emailed to you."
}
In Firefox the error is "SyntaxError: JSON.parse: unexpected character", in Chrome it's "Uncaught SyntaxError: Unexpected token C "
Any ideas?
* EDIT: This works fine on my localhost setup. *
You don't need to call $.parseJSON
if the server is sending valid JSON as jQuery will parse it automatically when it retrieves the response. I don't know the exact criteria, but if you set the Content-type: application/json
header it definitely will.