Dumb_Shock
Dumb_Shock

Reputation: 1008

JSON.parse: unexpected end of data error

For the code below i am getting this error :

JSON.parse: unexpected end of data

at line var data = JSON.parse(json);

the code used is:

$(document).ready(function(){  
$("#button1").click(function(){
    $.post(
        'script_1.php',
        { id: $('input[name="id"]', '#myForm').val() },
        function(json) { 
            var data = JSON.parse(json);
            if (data.length === 0){
             alert('no data');   
            }
            else{
            $("input[name='title']").val(json.title);
                    $("input[name='age']").val(json.age); 
            }},
        "json"
    );
});
});

the back end php is

$sql ="SELECT * FROM parent WHERE id = '$name'";       
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
if ($row) {
$row=  array('title' => $row['title'],'rno' => $row['reportno'],'url' =>      
$row['calc_url'], 'institution' => $row['institution']);
 echo json_encode($row);
 } else {
 echo json_encode(array());
 }

What is reason for the error here?

Upvotes: 4

Views: 19184

Answers (1)

Craig Stuntz
Craig Stuntz

Reputation: 126547

When you specify "json" the data argument to your callback will already be parsed. There is no need to invoke JSON.parse, here.

Upvotes: 9

Related Questions