解决方案 »

  1.   

    问题1,为什么ajax.php中要用echo,而不能用return?
    因为只有 echo 才能使 ajax 得到值
    这不是函数调用,所以不能是 return问题2,在test.html中 success: function(msg)这个函数里面访问ajax.php返回的数据为什么能直接msg.name、msg.password这样访问?ajax.php返回的不是一个json数据吗?访问json数据不是应该用each什么的遍历吗?怎么能够直接msg.password这样访问呢?
    因为是对象,并且你已经知道了属性名,所以可以直接访问
    返回的是 json 串,但你有 dataType: "json",所以被 jq 转换成了对象
      

  2.   

    的确这不是函数调用,所以不能用return
      

  3.   

    问题1,为什么ajax.php中要用echo,而不能用return?
    因为是要输出,所以用echo或print。另外如果是调用函数,才需要用return返回值。问题2,在test.html中
    success: function(msg)这个函数里面访问ajax.php返回的数据为什么能直接msg.name、msg.password这样访问?ajax.php返回的不是一个json数据吗?访问json数据不是应该用each什么的遍历吗?怎么能够直接msg.password这样访问呢?
    json_encode($_POST); 返回的是json数据,jquery会转换为对象。
    所以msg={"username":"xxxx","password":"xxxx"}