SyntaxError:解析

时间:2016-07-27 14:22:42

标签: php jquery json

以下JS代码段:

    var data_JSON = {
        input: 'test',
        message: 'Sending...'
    };

    $.ajax({
        url: 'main_php.php',
        type: 'POST',
        data: data_JSON,
        dataType : 'json',
        contentType: 'application/json',        
        success: alert(data),       
        error: function (request, status, error) {      
            alert(error);
        }
    }); 

以下关联的PHP代码(main_php.php):

if ($_POST){    
    $vals = array(
        'input'     => $input,
        'message'   => $message
    );
    header('Content-Type: application/json');
    echo json_encode($vals);        
}

总是结果错误(error$.ajax中运行),无论我尝试过什么。在浏览器的开发者控制台中,我可以浏览错误消息的完整长度

  

SyntaxError:ajaxConvert中解析(本机)的输入意外结束   ([...] / jquery-3.0.0.js:8544:19)完成后   ([...] / jquery-3.0.0.js:9011:15)XMLHttpRequest。   ([...] / jquery的-3.0.0.js:9303:9)

哪个完全 JSON无法解析的点?这个错误的原因是什么,我该如何解决?

注意:JSON.stringify无效,如果有帮助的话。

1 个答案:

答案 0 :(得分:1)

尝试:

JS:

var data_JSON = {
    input: 'test',
    message: 'Sending...'
 };

$.ajax({
  url: 'main_php.php',
  method: 'POST',
  data: data_JSON,
  dataType : 'json',
  success: function(data){
    alert(JSON.stringify(data)) ;
  } ,       
  error: function (request, status, error) {      
    alert(error);
  }
}); 

和 PHP:

if ($_POST){    
    $vals = array(
      'input'     => $input,
      'message'   => $message
    );
    header('Content-Type: application/json');
    echo json_encode($vals);        
}