Zoolander
Zoolander

Reputation: 2363

Why am I getting a parseerror when using jQuery's ajax()?

Can someone tell me why in the world I keep getting a parseerror in the console with the following code?

$.ajax({
    url : "file.php",
    data : data,
    dataType : "json",
    success : function (request) {
        console.log("success");
    },
    error : function (request, error) {
        console.log(error);
    }
});

I have validated my JSON with jsonlint.com and it's Valid.

The Response Headers being returned in the Net tab of Firebug are:

Content-Length 19

Keep-Alive timeout=5, max=96

Connection Keep-Alive

Content-Type application/json

Upvotes: 1

Views: 2090

Answers (2)

Diode
Diode

Reputation: 25135

This is how you can send json from PHP

$response = array("title" => "One");

echo json_encode($response);

If { "title": "One" } is the response, Content-Length of response should be 18, but from your description I can see that it is 19. So something is wrong in the response json string, please check it.

Upvotes: 2

Jasper
Jasper

Reputation: 75993

It seems possible that the name or value of this may have invalid characters. Instead of concocting your own data string how about letting jQuery do it for you:

data  = $this.serialize();

Upvotes: 0

Related Questions