0

そのため、1 つの入力テキスト フィールド (search_term) と送信ボタンを含むフォームがあります。

私がやろうとしているのは、入力テキスト フィールドにキーワードを入力し、[送信] を押すことです。キーワードは json_encode する php スクリプトに送信され、アラート ボックスが表示されて表示されるフォーム ページに送り返されます。キーワード。

代わりにnull、送信を押した後もアラート ボックスに表示され続けます。

PHPスクリプトは、キーワードを渡してURLに実際に入力すると、正常に機能します。

localhost/filter.php?search_term=hey

フォームを送信し、値を非同期に取得するJavaScript (ページをリロードせずに):

$('#filter_form').on('submit', function(e){
                    var filtered_data = null;

                    e.preventDefault();


                    $.ajax({
                        type: 'GET',
                        dataType: 'json',
                        url: 'filter.php',
                        async: false,
                        success: function(json)
                        {
                            filtered_data = json;
                        }
                    });

                    alert(filtered_data);
                });

filter.php :

$search_term = $_GET['search_term'];
    echo json_encode($search_term);
4

1 に答える 1

1

入力の値を処理ページに POST する必要があります。

$('#filter_form').on('submit', function(e) {
    e.preventDefault();
    $inputValue = $('#search_term').val(); //if the id of the input is "search_term"
    $.ajax({
        type: 'POST',
        data: {
            'inputValue': $inputValue
        },
        url: 'filter.php',
        success: function(json) {
            alert(json);
        }
    });
});​

filter.php を次のように変更する必要があります。

$search_term = $_POST['inputValue'];
echo json_encode($search_term);
于 2012-11-06T15:42:01.200 に答える