JQuery Ajax с использованием JSON получает неопределенное значение - PullRequest
0 голосов
/ 01 декабря 2010
$.ajax({                
    type: "POST",
    url: "check.php",
    data: "checkit=" + $("#checkEmail").val(),
    success: function(response){
        $("#userCheck").html(response.status);
        if(response.status == true){
            alert("yay");
        }else{
            alert("dsfds");
        }
    }
}, 'json');

кто-то здесь предложил выполнить мои ajax-возвраты с использованием json ...

вот мой php-файл, возвращающий json.Возможно, кто-то здесь мог указать мне на мою ошибку?

Ответы [ 2 ]

5 голосов
/ 01 декабря 2010

Вам также не хватает

dataType: 'json'

и ваш PHP неверен:

$data=array('status'=>true);

ОБНОВЛЕНИЕ

Вот несколько предложений, которые япопытался бы:

1) 'dataType' (чувствителен к регистру)

2) попробуйте использовать опцию 'contentType' следующим образом:

contentType: "application/json; charset=utf-8"

I 'Я не уверен, насколько это поможет, поскольку он используется в запросе к вашему посту, а не в ответе.См. Эту статью для получения дополнительной информации: http://encosia.com/2008/06/05/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax (написано для asp.net, но может быть применимо)

3) Тройная проверка выходного URL вашего поста и запуск вывода через валидатор JSONпросто чтобы быть абсолютно уверенным, что он действителен и может быть проанализирован в объект JSON.http://www.jsonlint.com

Надеюсь, что это поможет!

1 голос
/ 01 декабря 2010

Вы ссылаетесь на другую переменную, отправляете success (неверно), но проверяете status.С вашим текущим jQuery оно должно быть:

echo json_encode(array('status' => true));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...