Как заставить ошибку PHP AJAX отображаться в коде jQuery?

У меня есть некоторый PHP AJAX код, который должен проверить некоторые параметры, отправленные jQuery и вернуть некоторые значения. В настоящее время он постоянно возвращает ошибку jQuery, и я не уверен, почему.

Вот мой код jQuery:

$('.vote_up').click(function() 
{        
    alert ( "test: " + $(this).attr("data-problem_id") );
    problem_id = $(this).attr("data-problem_id");

    var dataString = 'problem_id='+ problem_id + '&vote=+';

    $.ajax({
                type: "POST",
                url: "/problems/vote.php",
                dataType: "json",
                data: dataString,
                success: function(json)
                {           
                    // ? :)
                    alert (json);


                },
                error : function(json) 
                {
                alert("ajax error, json: " + json);

                //for (var i = 0, l = json.length; i < l; ++i) 
                    //{
                    //  alert (json[i]);
                    //}
                }
            });


    //Return false to prevent page navigation
    return false;
});

и вот код PHP. Ошибки валидации в PHP действительно возникают, но я не вижу признаков того, что ошибка, возникающая на стороне php, является той, которая вызывает ошибку jQuery.

Вот фрагмент, который вызывается:

if ( empty ( $member_id ) || !isset ( $member_id ) )
{
    error_log ( ".......error validating the problem - no member id");
    $error = "not_logged_in";
    echo json_encode ($error);
}

Но как мне заставить "not_logged_in" отображаться в моем JavaScript jQuery, чтобы я знал, что это тот бит, который был возвращен? А если нет, то как сделать так, чтобы именно эта ошибка возвращалась в jQuery?

Спасибо!

7
задан GeekedOut 5 October 2011 в 21:19
поделиться