Отправка обратно Ajax-переменной - PullRequest
0 голосов
/ 22 апреля 2010

Я пытаюсь использовать jquery для проверки на стороне клиента, чтобы выполнить проверку и вернуться с ошибкой или успехом.

Я знаю, как отобразить текст / html как ответ, но вот что я пытаюсь сделать.

При ошибке отправьте сообщение обратно, чтобы пользователь мог повторно отправить форму. В случае успеха перезагрузите страницу.

Я не уверен, как заставить его посылать переменную, которая, я думаю, позволит мне выполнить любое условие в jquery.

Есть предложения ??

Ответы [ 2 ]

1 голос
/ 22 апреля 2010

Javascript может выглядеть примерно так

$.ajax({
    type: 'POST',
    url: ajaxPage,
    data: postContent,
    success: function(response) {
        //Assume that the php failed
    },
    error: function() { alert("Ajax request failed."); }
});

Теперь в файле PHP ajax вы можете иметь это

<?php
    //Check for validation

    if(validation == 'success') {
        header('Location: '.FILE_LOCATION);
    }
    else {
        exit('Form submit failed. Please try again');
    }
?>

Надеюсь, это поможет!Метрополис

РЕДАКТИРОВАТЬ С НОВОЙ ИНФОРМАЦИЕЙ

Если вы хотите использовать объект json, вы можете сделать это следующим образом

<?php
    $response = array('validationStatus' => true);
    exit(json_encode($response));
?>

Это недействительно важно, используете ли вы json или нет, вы все равно можете передать строку в любом случае.Я думаю, что json действительно лучше для более сложных данных, которые нужно передать обратно, но, вероятно, есть 10 различных способов сделать это.

1 голос
/ 22 апреля 2010

Ознакомьтесь с документацией, http://api.jquery.com/jQuery.ajax/. Вы найдете опцию успеха и ошибки, в которой вы предоставляете функцию, которая вызывается при успешном запросе или сбое.

$.ajax({
    url: 'ajax/test.html',
    success: function(data) {
        //reload your page
    },
    error: function(data) {
        alert("Resubmit the form!");
    }
});
...