qq_42635799
2018-07-19 08:51
采纳率: 50%
浏览 1.7k

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,怎么才能显示网址呢

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • 已采纳

    解析下看看 var str='{ "name": "John" }';//json标准格式
    var obj = eval('(' + str + ')');
    alert( obj.name);

    已采纳该答案
    打赏 评论
  • dabocaiqq 2018-07-19 08:53

    抓包看下,返回的错误信息是什么,是不是404或者500了。

    打赏 评论
  • dabocaiqq 2018-07-19 08:54

    返回的data是{success: xxx}的么,如果不是,用data.success就是没有定义

    打赏 评论
  • weixin_40802000 2018-07-19 09:31

    不要自认为的去拼接json字符串 写成数组形式 return json_encode($data)

    打赏 评论
  • 天际的海浪 2018-07-19 10:02
    $.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\"}";
    
    
    打赏 评论
  • dtbsky 2018-07-19 10:35

    数据返回问题,console.log(data) 输出看看

    打赏 评论
  • jasondyoung 2018-07-19 11:58

    你这请求不是没success处理函数嘛,只有请求报错才会走error处理函数。

    打赏 评论
  • 钒铧 2018-07-20 00:33

    返回json数据不应该使用echo json_endocde(XX)吗

    打赏 评论
  • Heaven丶 2018-07-20 00:55

    有可能是返回数据的特殊字符转义了,导致返回的并不是json数据,响应200,但是到了error方法,之前有碰到次。楼主可以抓包看下响应数据json工具检测是否有问题,往这个方向查看下

    打赏 评论

相关推荐 更多相似问题