0

私は少し慣れていませんjQuery/ajax

$.post..メッセージの送受信に使用していますが、サイトが大幅に改善されました。

検証のために ajax cal をサーバーに送信する機能が必要です

検証が成功した場合、サーバーにリダイレクトさせたいのですが、そうでない場合は、ページに戻ってエラーメッセージを表示する必要があります。

私の質問は、どのjQuery呼び出しがこれに最も適しているかです。

サーバーで使用してリダイレクトするときの私の経験から、$.post('....')何らかの理由でリダイレクトされません。

4

4 に答える 4

0

JS:

$('#submitButtton').click(function(){
    $.ajax({
        dataType: "json",
        type: 'POST',
        url: url/to/ajax-results.php',
        data: { $('form#my-form').serialize(); }
    }).done(function(data){
        if(data.response == 'error') {
            $('#results').html('<div class="error">'+data.report+'</div>');
            $('#results').show();
            return false;
        }

        window.location.href = data.redirect
    });
});

PHP:

<?php
$errors = array();

$val1 = $_POST['val1'];
if(empty($val1)) {
    $errors[] = 'val1 cannot be empty';
}

if(count($errors) > 0) {
    echo json_encode(array(
        'response' => 'error',
        'report' => 'send your errors array, or custom error message'
    ));
    exit();
} else {
    echo json_encode(array(
        'response' => 'ok',
        'redirect' => 'http://www.domain.com/url/to/redirect'
    ));
    exit();
}

?>
于 2013-07-09T07:40:03.957 に答える