首頁 >後端開發 >php教程 >ajax传值和回调原理

ajax传值和回调原理

WBOY
WBOY原創
2016-06-23 13:51:511073瀏覽

刚开始学习ajax,
大牛门帮我看看有没有问题?

$.get("__URL__/yanz",{bid:bid,b:v,},function(data,status){			alert(data.aa);			alert(status);		},"json");


if ($cdata){	 		echo json_encode($cdata);	 		$this->ajaxReturn($cdata,'查询成功',1);//主要是这里回调	 	}else{$this->error("数据不存在");}

用是thinkphp的,本想做一个把ID和名称通过ajax传值,然后查询数据库中是否存在。不存在跳转URL。
问题:值收到了,但回调和跳转URL不知道怎么搞。大牛请指导,


回复讨论(解决方案)

设置 config
‘DEFAULT_AJAX_RETURN’ => 'JSON'

将返回如下结构
{
  "status“ : "1",
  "info" : "查询成功",
  "data" : 你的$cdata形成的数据体
}

假设你的数据体中有 aa 一项,则 alert(data.data.aa)

注意:不要 echo json_encode($cdata);
切记!因为你要返回的是 json,所以不能有其他任何输出,否则 json 将解码失败

设置 config
‘DEFAULT_AJAX_RETURN’ => 'JSON'

将返回如下结构
{
  "status“ : "1",
  "info" : "查询成功",
  "data" : 你的$cdata形成的数据体
}

假设你的数据体中有 aa 一项,则 alert(data.data.aa)

注意:不要 echo json_encode($cdata);
切记!因为你要返回的是 json,所以不能有其他任何输出,否则 json 将解码失败


非常感谢版主,改了返回结构可以了。
我还有个问题:能不能直接返回$this->success()和$this->error()链接和内容?

不知道,那是你框架的事情
没用过,不好说

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn