【发布时间】:2010-12-16 08:44:00
【问题描述】:
按照我在代码点火器 1.7.1 中运行良好的代码现在无法调用控制器方法 user/checkAvailability?requestSource=USER_AVAILABILITY 它会进入错误块并将警报打印为警报('在方错误');
我发现没有一个 Jquery Ajax 请求不起作用..
不明白为什么它不去调用控制器方法,
请帮忙
function checkAvailability(){ $.blockUI({message: null});
var newMessage = 'E1';
$('#searchLoading').show(); alert('I am here'); $.ajax({
type: "post",
url: "user/checkAvailability?requestSource=USER_AVAILABILITY",
cache: false,
data: "userName=" + $("#userName").val(),
success: function(json){
alert("Printing Json");
try{
$.unblockUI();
var obj = JSON.parse(json);
if(obj[0].STATUS=='true'){
newMessage = "E15";
$('#checkUser').hide();
}else{
newMessage = "E16";
$("#checkUser").hide();
}
showMessage(newMessage);
$('#searchLoading').hide();
}catch(e) {
alert('In side Exception');
showMessage("E1");
$.unblockUI();
$('#searchLoading').hide();
}
},
error: function(){
alert('In side Error');
$('#searchLoading').hide();
$.unblockUI();
$("#checkUser").hide();
showMessage(newMessage);
$( "form" )[0].reset();
} });
}
控制器用户中的 CI 方法
/**
This method is used to check User Name availabiliy.
*/
public function checkAvailability(){
$userName = trim($this->input->post('userName'));
$query = $this->UserModel->getUser($userName);
$status =array("STATUS"=>"true");
if($query){
$status = array("STATUS"=>"false");
}
echo json_encode (array($status)) ;
}
【问题讨论】:
-
听说过 FirePHP? firephp.org 它应该可以帮助您进行一些调试...尝试注释掉所有内容,然后调用
echo json_encode(array("STATUS"=>"true"));您的代码看起来很简单,但可能会发生一些时髦的事情。 -
@Fred- 服务器部分和响应稍后出现我的问题我无法将 ajax 请求发布到控制器。看看我的 java 脚本函数
-
Frieds - 经过一些研发后发现问题,当我从 URL 中删除 ?requestSource=USER_AVAILABILITY 时,问题与 URL user/checkAvailability?requestSource=USER_AVAILABILITY 其作品有关,我认为这是因为 GET 类型的 URL ,因为我在ajax请求中提到方法类型为POST,如果您有任何其他意见,请提供评论谢谢Yashwant
标签: php jquery codeigniter