jQuery.post()失败

代码从后盾网的教程中抄的,没找到不同,前端jQuery,后台是hdphp的框架,代码如下js:vardir;dir=APP+'/Reg/ajax_username';al... 代码从后盾网的教程中抄的,没找到不同,前端jQuery,后台是hdphp的框架,代码如下
js:
var dir;
dir = APP + '/Reg/ajax_username';
alert(username);
$.post(dir,{username:username},function(status){
alert("stauts");
},'json');

PHP:
<?php

class RegControl extends Control
{
//asynchronization check out the username
public function ajax_username()
{
if (!IS_AJAX) $this->error("error! Page isn't existed!");
$username = $this->_POST('username');
echo '2';
if (M('user')->where(array('username' => $username ))->getField('uid'))
{
echo 0;
}
else
{
echo 1;
}

}
}
路径没有问题,但是所有的echo都返回不到前端,前端的alert(status)不执行。
展开
 我来答
Tiveen
2014-02-17
知道答主
回答量:20
采纳率:0%
帮助的人:15.9万
展开全部
1. 把你前端alert("status")改成alert(status)
2. 打开浏览器console(控制台)刷新页面,以火狐为例,POST执行后,控制台会显示POST 和你post到的URL,后面写状态,成功了就是这样 [HTTP/1.1 200 OK 1ms],200是没问题,404是你的路由有问题,500是你php有问题,要是200了还不能正常显示就是JS有问题
追答
去掉,'json',这个参数声明预期的服务器响应类型,你返回的值既有string又有boolean,前端把这些值当做json读肯定读不出,去掉这个参数浏览器就会自己判断返回值的类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
斯微安5
2014-02-17 · TA获得超过238个赞
知道小有建树答主
回答量:852
采纳率:100%
帮助的人:287万
展开全部

你用火狐的debug看下网络的标签,看看有没有发送过去!

还有你在服务器端先用最简单的代码测试一下,数据有没有发送到服务器,和返回到浏览器中。

class RegControl extends Control
{
//asynchronization check out the username
public function ajax_username()
{
    echo  $_POST['username'];
}
}

如果这样的话还没有数据,那就是路径和别的问题!

追问
对不起,我是初学的,echo的数据怎么看到啊?
追答
他会返回到:
js:
var dir;
dir = APP + '/Reg/ajax_username';
alert(username);
$.post(dir,{username:username},function(status){
alert("stauts");
},'json');
中的
$.post(dir,{username:username},function(status){
“status”;你直接alert(status)就可以了,不要用引号引起来!
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
灌水水手
2014-02-16
知道答主
回答量:3
采纳率:0%
帮助的人:2.7万
展开全部
后台有没有收到请求?浏览器有没有脚本错误?慢慢调试吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式