3
votes

I am getting SyntaxError: Unexpected end of input. The code looks fine to me, what am i missing?

function SaveGridster(jsonState) {
        console.log('SaveGridster'); // I CAN SEE THIS IN CONSOLE
        var msttou = {
            "srno": "1",
            "module": "ABT Meter Details",
            "userid": "SYS",
            "jsondata": "jsonState"
        };


        $.ajax({
            type: "POST",
            contentType: "application/json;charset=utf-8",
            url: BaseAddress + "InstanceDataAPI",
            dataType: "json",
            data: JSON.stringify(msttou),
            success: function (response) {
                console.log('success');
            },
            error: function (xhr, status, error) {
                console.log(error);
                alert(xhr.responseText);
            }
        });
    }

CONSOLE:

SyntaxError: Unexpected end of input
    at Object.parse (native)
    at jQuery.extend.parseJSON (http://localhost:2402/Scripts/jquery-1.10.2.js:564:23)
    at ajaxConvert (http://localhost:2402/Scripts/jquery-1.10.2.js:8443:19)
    at done (http://localhost:2402/Scripts/jquery-1.10.2.js:8199:15)
    at XMLHttpRequest.callback (http://localhost:2402/Scripts/jquery-1.10.2.js:8792:8)
1

1 Answers

5
votes

It would appear the error lies within the AJAX response your function is getting. The SyntaxError is issued by the JSON parser. Convert the dataType to 'text' to disable JSON parsing.