赞
踩
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格式。
- <?php
- $code = $_GET['code'];
-
- if ($code == '') {
- echo '{"msg":"请输入快递单号"}';
- }
-
- $result = '{"msg":"","status":"0","data":{"info":11}}';
-
- if($code == '9971121346085') {
- echo "$result";
- }else {
- echo '{"msg":" 该单号暂无物流进展,请稍后再试,或检查公司和单号是否有误","status":"-2"}';
- }
- ?>
-
-

(2)服务器端返回的已经是Json格式的文件 不需要再次转换。
看下面的代码中不存在逻辑问题之后,echo "请输入快递单号";这行的输出格式本来已经是字符串了
- <?php
- $code = $_GET['code'];
- $result = '{"msg":"","status":"0","data":{"info":11}}';
- if ($code == '') {
- echo "请输入快递单号";
- // echo '{"msg":"请输入快递单号"}';
- }else if($code == '9971121346085') {
- echo "$result";
- }else {
- echo '{"msg":" 该单号暂无物流进展,请稍后再试,或检查公司和单号是否有误","status":"-2"}';
- }
- ?>
正确的代码是:
- <?php
- $code = $_GET['code'];
- $result = '{"msg":"","status":"0","data":{"info":11}}';
- if ($code == '') {
- echo '{"msg":"请输入快递单号"}';
- }else if($code == '9971121346085') {
- echo "$result";
- }else {
- echo '{"msg":" 该单号暂无物流进展,请稍后再试,或检查公司和单号是否有误","status":"-2"}';
- }
- ?>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。