【发布时间】:2013-11-10 14:00:28
【问题描述】:
我正在使用 AJAX 检查用户名是否在数据库中。这是控制器代码:
public function check_username(){
if($this->request->is('json')){
$user = $this->User->find('count', array('conditions' => array('username' => $this->request->data['username'])));
if($user === 0)
echo '1';
else
echo false;
}
$this->autoRender = false;
}
我在视图上使用了 AJAX。没关系,现在我正在尝试使用 Json 并将我的控制器代码更改为:
public function check_username(){
if($this->request->is('json')){
$user = $this->User->find('count', array('conditions' => array('username' => $this->request->data['username'])));
echo json_encode($user);
}
$this->autoRender = false;
}
这是我的视图代码。这不起作用(没有出现警报):
var un = $('#username').val();
$.getJSON(
'/oes/users/check_username',
{username:un},
function(result){
alert(result);
});
现在请任何人帮助我让它工作。我也是 Json 的新手。 提前致谢。
【问题讨论】:
-
不熟悉 CAKE...但这看起来很可疑
if($this->request->is('json')){你没有发送任何 json,也没有任何获取参数json。在浏览器控制台中检查请求以查看它是否正在发出、状态、响应等 -
感谢您考虑到我的问题,尽管您不熟悉 CakePHP。
$this->request->is('json')只是检查请求是否为json。我也试过评论这个。你能告诉我原始的php方式吗? -
您是否在控制台中检查了请求?需要知道是哪一端导致问题,或两者兼而有之
-
不,我不能使用控制台。这不只是出现(控制台窗口)。那我该怎么办?
-
你的代码全是错误的。阅读 CakePHP 手册中关于 JsonView 的内容。
标签: php jquery ajax json cakephp