Javascript jqueryajax发布到php,但表示变量中没有值

Javascript jqueryajax发布到php,但表示变量中没有值,javascript,php,jquery,ajax,post,Javascript,Php,Jquery,Ajax,Post,我正在做一个即时搜索的事情,当我提交表单搜索表单时,它将向PHP发送一篇ajax文章。它发送所有信息,但PHP页面表示变量没有值,但数据显然已发布 $('#search-form').submit(function(event) { event.preventDefault(); $.ajax({ type: "POST", url: "Search.php",

我正在做一个即时搜索的事情,当我提交表单搜索表单时,它将向PHP发送一篇ajax文章。它发送所有信息,但PHP页面表示变量没有值,但数据显然已发布

        $('#search-form').submit(function(event) {
            event.preventDefault();
            $.ajax({
                type: "POST",
                url: "Search.php",
                cache: false,
                data: $("#search-form").serialize(),
                success: function(data) {
                    alert($("#search-form").serialize());
                    $("#searched").fadeIn("fast");
                    $("#results").empty();
                    $("#results").append(data);
                }
            });
            return false;
        });

确保在浏览器中打开了一个控制台,Firefox:bugzilla、Chrome和IE都有内置的控制台。它显示异步请求中发生的情况

在顶部的php文件中,执行以下操作:

var_dump($_POST);

//OR DO THIS:
// print_r($_POST);
然后查看浏览器控制台,查看响应是什么。它应该吐出一个数组。您可以看到数据的名称。这是调试任何ajax请求的最快方法


另外,不要忘记使用.serialize()序列化了数据

你的js看起来不错,发布你的PHP你在印刷品上得到了什么($\u post);在你的php文件中?数组(size=1)'search-priddly'=>string'kenny'(长度=5)这就是print_r($_-POST)所做的搜索文件非常大,但它就像:if(isset($_-POST['search-priddly']){$search=mysql_real_-escape_字符串($_-POST['search-priddly']);mysql_查询($SELECT*FROM login WHERE email='search')}else{}else}请在success函数中设置console.log(data)并查看回调函数得到了什么,我认为此时的响应是一个数组,因此您不能在浏览器控制台中直接附加它(未测试),应该有一个params选项卡。它将向您显示发送的内容。如果它只显示一个参数,那是因为您序列化了数据。所以您需要取消序列化。chrome显示XHR已完成加载:“”。jquery-1.10.2.js:8706发送jquery-1.10.2.js:8706 jquery.extend.ajax jquery-1.10.2.js:8136(匿名函数)Home.php?page=Board.php:114 jquery.event.dispatch jquery-1.10.2.js:5095 elemData.handle