PHP报错Uncaught SyntaxError: Unexpected token { in JSON at position 17 at JSON.parse (<anonymous>)

1 篇文章 0 订阅

 

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"}';
	}
?>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值