微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – JSON解析错误:无法识别的标记’<'处于角度

这是我的角度代码.表单提交代码.单击“提交”按钮时. JSON解析错误:无法识别的令牌’<'这个错误显示出来.空记录将保存在DB上.我也为此添加HTML代码PHP服务器端代码.

 $scope.submitForm = function() {

    $http({
      method  : 'POST',
      url     : 'http://localhost/youtubewebservice/checkOutt.PHP',
      data    : $scope.user,
      dataType: 'json',
      headers : {'Content-Type': 'application/x-www-form-urlencoded'} 
     })  
      .success(function(data) {
        if (data.errors) {
          $scope.errorinputFName = data.errors.inputFName;
          $scope.errorinputLName = data.errors.inputLName;
        } 
      });  
    };

HTML代码

<form name="userForm" ng-submit="submitForm()">
<div class="form-group">
    <label>Name</label>
    <input type="text" name="inputFName" class="form-control" ng-model="user.inputFName">
    <span ng-show="errorName">{{errorName}}</span>
</div>
<div class="form-group">
    <label>Email</label>
    <input type="text" name="inputLName" class="form-control" ng-model="user.inputLName">
    <span ng-show="errorEmail">{{errorEmail}}</span>
</div>

<button type="submit" class="btn btn-primary">Submit</button>
      <div id="sendmessageresponse"></div>
</form>

** PHP代码**

header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json;charset=UTF-8");

$data = json_decode(file_get_contents("PHP://input"));
$inputFName = MysqL_real_escape_string($data->inputFName);
$inputLName = MysqL_real_escape_string($data->inputLName);

$con = MysqL_connect('localhost', 'root', '');
MysqL_select_db('look4com_lk', $con);

$qry_em = 'select count(*) as cnt from checkout where chkID ="' . $chkID . '"';
$qry_res = MysqL_query($qry_em);
$res = MysqL_fetch_assoc($qry_res);


if ($res['cnt'] == 0) {
    $qry = 'INSERT INTO checkout (inputFName,inputLName) values ("' . $inputFName . '","' . $inputLName . '")';
    $qry_res = MysqL_query($qry);
    if ($qry_res) {
        $arr = array('msg' => "User Created Successfully!!!", 'error' => '');
        $jsn = json_encode($arr);
        print_r($jsn);
    } else {
        $arr = array('msg' => "", 'error' => 'Error In inserting record');
        $jsn = json_encode($arr);
        print_r($jsn);
    }
} else {
    $arr = array('msg' => "", 'error' => 'User Already exists with same email');
    $jsn = json_encode($arr);
    print_r($jsn);
}

解决方法:

此特定解析错误表示输出无效JSON(duh).由于您的输出是使用json_encode格式化的,因此它应该是. (虽然我通常只使用print_r作为数组……)但是……

我的经验告诉我你的服务器产生错误/通知,PHP通常输出一些html,因此<.既然您声称响应是干净的JSON,我建议您查看服务器发送的实际响应.我的假设是,你从命令行测试了你的PHP脚本(因此PHP://输入?)但服务器可能处理的请求与你期望的不同. 您可以在几乎所有体面的浏览器的网络选项卡中检查服务器的响应,通常是F12 – >网络选项卡,然后重新加载和/或重新发送表单.如果您在解决您的PHP问题时遇到问题,请将PHP错误消息添加到您的问题中或者询问一个新问题.

最后一点:请避免使用MysqL_ *函数(不推荐使用的MysqL库),并使用MysqLi_ *函数(MysqLi库)或PDO.也使用准备好的陈述.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐