ajaxPOST返回undefined

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工具检测是否有问题,往这个方向查看下