jQuery:
$.ajax({
type: "POST",
url: 'http://127.*.*.*/test.php',
dataType: 'json',
error: function(data){
alert(data.success);
},
});
PHP:
$scwz1="http://www.bai**.com";
echo "{success:$scwz1}";
执行上面代码后,可以发送post,并且有返回值(success
:
"http://www.bai**.com"),但只能执行error里的函数,且alert提示undefined,怎么才能显示网址呢
解析下看看 var str='{ "name": "John" }';//json标准格式
var obj = eval('(' + str + ')');
alert( obj.name);
抓包看下,返回的错误信息是什么,是不是404或者500了。
返回的data是{success: xxx}的么,如果不是,用data.success就是没有定义
不要自认为的去拼接json字符串 写成数组形式 return json_encode($data)
$.ajax({
type: "POST",
url: 'http://127.*.*.*/test.php',
dataType: 'json',
success: function(data){
alert(data.success);
},
});
PHP:
$scwz1="http://www.bai**.com";
echo "{\"success\":\"$scwz1\"}";
数据返回问题,console.log(data) 输出看看
你这请求不是没success处理函数嘛,只有请求报错才会走error处理函数。
返回json数据不应该使用echo json_endocde(XX)吗
有可能是返回数据的特殊字符转义了,导致返回的并不是json数据,响应200,但是到了error方法,之前有碰到次。楼主可以抓包看下响应数据json工具检测是否有问题,往这个方向查看下