Viewed 26899 times

I have determined that my JSON, coming from the server, is valid (making the ajax call manually), but I would really like to use JQuery. I have also determined that the "post" URL, being sent to the server, is correct, using firebug. However, the error callback is still being triggered (parse error). I also tried datatype: text.

Are there other options that I should include?

$(function() {
    $("#submit").bind("click", function() {
            type: "post",
            url: "http://myServer/cgi-bin/broker" ,
            datatype: "json",
            data: {'start' : start,'end' : end},
            error: function(request,error){
            success: function(request) {
        }); // End ajax
    }); // End bind
}); // End eventlistener

3 answers given for "Unable to receive JSON from JQuery ajax call"

Accepted Solution

Here are a few suggestions I would try:

1) the 'datatype' option you have specified should be 'dataType' (case-sensitive I believe)

2) try using the 'contentType' option as so:

contentType: "application/json; charset=utf-8"

I'm not sure how much that will help as it's used in the request to your post url, not in the response. See this article for more info: (It's written for, but may be applicable)

3) Triple check the output of your post url and run the output through a JSON validator just to be absolutely sure it's valid and can be parsed into a JSON object.

Hope some of this helps!

Why myResult instead of request?

success: function(request) {

The data parameter is wrong. Here is an example that works:

data: { index: ddl.selectedIndex },

This contructs an object with property called index with value ddl.selectedIndex.

You need to remove the quotes from your data parameter line

Good luck A