0

所以,我有一个带有一个输入文本字段(search_term)和一个提交按钮的表单。

我要做的是在输入文本字段中输入一个关键字,按提交,关键字被发送到一个 php 脚本,该脚本将对其进行 json_encode 并将其发送回表单页面,其中应该出现一个警告框并显示关键词。

相反,我在按下提交后一直null显示在警报框中。

如果我实际上在 url 中键入它并传递了关键字,PHP 脚本就可以正常工作:

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);
                });

过滤器.php

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

1 回答 1

1

您需要将输入的值发布到处理页面。

$('#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 回答