当用户填写电子邮件输入时,我发送一个ajax请求,这里是代码:
_email.blur(function(){
$.ajax({
url : base_path("user/register/ajax/email"),
type: "POST",
data: ({ email : _email.val() , }),
success: function(message)
{
alert(message);
},
});
}); // end of email blur
然后php成功返回一个字符串,一个失败(CodeIgniter Controller)
if($param == "email")
{
$this->form_validation->set_rules("email", "required | email");
$this->form_validation->set_rules("email", "is_unique[users.email]");
if($this->form_validation->run !== FALSE)
{
echo (json_encode("thanks"));
}
else
{
echo (json_encode("Ranks"));
}
}
问题:似乎ajax请求成功,但它提醒的消息不合适,因为它会提醒空字符串。
答案 0 :(得分:0)
我看看这个:
json_encode("thanks")
我没有编写任何PHP很长一段时间,但json_encode不应该用于编码关联数组?例如
json_encode(array("message" => "thanks"))
答案 1 :(得分:0)
当你使用json_encode时,你可以在if else语句之后尝试这个
exit(json_encode($respond));
return $this->output->set_output(json_encode($respond));
其中$ respond是您要显示的消息。
答案 2 :(得分:0)
_email.blur(function(){
$.ajax({
url : base_path("user/register/ajax/email"),
type: "POST",
data: ({ email : _email.val() , }),
success: function(message)
{
alert(message);
}
});
});
if($param == "email")
{
$this->form_validation->set_rules("email", "required | email");
$this->form_validation->set_rules("email", "is_unique[users.email]");
if($this->form_validation->run !== FALSE)
{
echo "thanks";
}
else
{
echo "Ranks";
}
exit;
}
对于json中的响应,您应该使用如下数据类型:
$.ajax({
dataType: "json",
url: url,
data: data,
success: success
});
答案 3 :(得分:0)
php代码:
json_encode(array("content" => "thanks"));
js code:
success: function(message)
{
alert(message.content);
}