高手们,请教一个php和ajax的问题

ymy1248227142 2014-05-23 05:04:43
前端代码:
test.html
<html>  
<title>php+jquery+ajax+json简单小例子</title>
<?php
header("Content-Type:text/html;charset=utf-8");
?>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$("#subbtn").click(function() {
var params = $("input").serialize();
var url = "ajax.php";
$.ajax({
type: "post",
url: url,
dataType: "json",
data: params,
success: function(msg){
var backdata = "您提交的姓名为:" + msg.name +
"<br /> 您提交的密码为:" + msg.password;
$("#backdata").html(backdata);
$("#backdata").css({color: "green"});
} }); }); });
</script>
</head>
<body>
<p><label for="name">姓名:</label>
<input id="name" name="name" type="text" />
</p>
<p><label for="password">密码:</label>
<input id="password" name="password" type="password" />
</p>
<span id="backdata"></span>
<p><input id="subbtn" type="button" value="提交数据" /></p>
</body>
</html>

后端处理ajax请求的代码
ajax.php
<?php
echo json_encode($_POST);
?>


问题1,为什么ajax.php中要用echo,而不能用return?
问题2,在test.html中
success: function(msg)这个函数里面访问ajax.php返回的数据为什么能直接msg.name、msg.password这样访问?ajax.php返回的不是一个json数据吗?访问json数据不是应该用each什么的遍历吗?怎么能够直接msg.password这样访问呢?
...全文
256 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲雪星枫 2014-05-23
  • 打赏
  • 举报
回复
问题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"}
laiyijian 2014-05-23
  • 打赏
  • 举报
回复
的确这不是函数调用,所以不能用return
xuzuning 2014-05-23
  • 打赏
  • 举报
回复
问题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 转换成了对象

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧