当前位置:   article > 正文

PHP报错Uncaught SyntaxError: Unexpected token { in JSON at position 17 at JSON.parse ()_syntaxerror: unexpected token z in json at positio

syntaxerror: unexpected token z in json at position 2177 at json.parse

 

Uncaught SyntaxError: Unexpected token { in JSON at position 17
    at JSON.parse (<anonymous>)
    at XMLHttpRequest.xhr.onreadystatechange (ems.html:83)
原因:

(1)代码逻辑有问题。

看下面的PHP代码。错误就在 echo '{"msg":"请输入快递单号"}'; 这句。

对于下面的代码是逻辑出错了。有两个if,而他们之间并没有加上else。

所有输出的数据都是为json格式。

  1. <?php
  2.     $code = $_GET['code'];
  3.     if ($code == '') {
  4.         echo '{"msg":"请输入快递单号"}';
  5.     }
  6.     $result = '{"msg":"","status":"0","data":{"info":11}}';
  7.     if($code == '9971121346085') {
  8.         echo "$result";
  9.     }else {
  10.         echo '{"msg":" 该单号暂无物流进展,请稍后再试,或检查公司和单号是否有误","status":"-2"}';
  11.     }
  12. ?>
  13.  

(2)服务器端返回的已经是Json格式的文件  不需要再次转换。

看下面的代码中不存在逻辑问题之后,echo "请输入快递单号";这行的输出格式本来已经是字符串了

  1. <?php
  2. $code = $_GET['code'];
  3. $result = '{"msg":"","status":"0","data":{"info":11}}';
  4. if ($code == '') {
  5. echo  "请输入快递单号";
  6. // echo '{"msg":"请输入快递单号"}';
  7. }else if($code == '9971121346085') {
  8. echo "$result";
  9. }else {
  10. echo '{"msg":" 该单号暂无物流进展,请稍后再试,或检查公司和单号是否有误","status":"-2"}';
  11. }
  12. ?>

正确的代码是:

  1. <?php
  2. $code = $_GET['code'];
  3. $result = '{"msg":"","status":"0","data":{"info":11}}';
  4. if ($code == '') {
  5. echo '{"msg":"请输入快递单号"}';
  6. }else if($code == '9971121346085') {
  7. echo "$result";
  8. }else {
  9. echo '{"msg":" 该单号暂无物流进展,请稍后再试,或检查公司和单号是否有误","status":"-2"}';
  10. }
  11. ?>

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/894213
推荐阅读
相关标签
  

闽ICP备14008679号