jquery ajax代码警告空字符串

时间:2013-12-02 15:25:06

标签: javascript php jquery ajax codeigniter

当用户填写电子邮件输入时,我发送一个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请求成功,但它提醒的消息不合适,因为它会提醒空字符串。

4 个答案:

答案 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); 
                    }