【发布时间】:2015-11-11 02:04:14
【问题描述】:
我正在尝试为汽车列表制作 AJAX 过滤器,但我陷入了最后阶段。我有两个文件,index.php 和 filter.php。
在 index.php 我有带有下拉列表和滑块的表单。发送表单的代码如下:
$(document).ready(function(){
$("#send").click(function(){
var salon=$("#salon-list").val();
var make=$("#make-list").val();
var model=$("#model-list").val();
var cenaLow=$("#cenaLow").val();
var cenaHigh=$("#cenaHigh").val();
var tachometrLow=$("#tachometrLow").val();
var tachometrHigh=$("#tachometrHigh").val();
var palivo=$("#palivo-list").val();
var karoserie=$("#karoserie-list").val();
var prevodovka=$("#prevodovka-list").val();
var pohon=$("#pohon-list").val();
var barva=$("#barva-list").val();
var dvere=$("#dvere-list").val();
var objem=$("#objem-list").val();
var stav=$("#stav-list").val();
$.ajax({
type:"post",
url:"filter.php",
data:"salon="+salon+"&make="+make+"&model="+model+"&cenaLow="+cenaLow+"&cenaHigh="+cenaHigh
+"&tachometrLow="+tachometrLow+"&tachometrHigh="+tachometrHigh+"&palivo="+palivo+"&karoserie" +
"="+karoserie+"&prevodovka="+prevodovka+"&pohon="+pohon+"&barva="+barva+"&dveře="+dvere+"&objem" +
"="+objem+"&stav="+stav,
success:function(data){
$("#result").html(data);
}
});
});
});
在 filter.php 文件中,我从 $_POST 获取数据,然后搜索数据库。之后,我想将结果回显到#result div,但它不起作用。任何 echo 语句都不起作用,我要列出的变量不为空,我检查了。
echo 'iAmHere'; /*just checking*/
$post["salon"] = htmlspecialchars($_POST["salon"]);
$post["make"] = htmlspecialchars($_POST["make"]);
$post["model"] = htmlspecialchars($_POST["model"]);
$post["cenaLow"] = htmlspecialchars($_POST["cenaLow"]);
$post["cenaHigh"] = htmlspecialchars($_POST["cenaHigh"]);
$post["rokLow"] = htmlspecialchars($_POST["rokLow"]);
$post["rokHigh"] = htmlspecialchars($_POST["rokHigh"]);
$post["tachometrLow"] = htmlspecialchars($_POST["tachometrLow"]);
$post["tachometrHigh"] = htmlspecialchars($_POST["tachometrHigh"]);
$post["palivo"] = htmlspecialchars($_POST["palivo"]);
$post["karoserie"] = htmlspecialchars($_POST["karoserie"]);
$post["prevodovka"] = htmlspecialchars($_POST["prevodovka"]);
$post["pohon"] = htmlspecialchars($_POST["pohon"]);
$post["barva"] = htmlspecialchars($_POST["barva"]);
$post["dvere"] = htmlspecialchars($_POST["dvere"]);
$post["objem"] = htmlspecialchars($_POST["objem"]);
$post["stav"] = htmlspecialchars($_POST["stav"]);
echo '<p class="make">'.$post["make"].'</p>'; /*does not work*/
echo "<script>window.alert('".$_POST["make"]."');</script>"; /*another checking, this works*/
感谢您的帮助。
【问题讨论】:
-
控制台有错误吗?
-
请包含您用于响应 AJAX 调用服务器端的代码。
-
print_r($_POST) 的输出是什么?
-
控制台没有错误。 print_r($_POST) 的输出是: Array ( [salon] => 0 [make] => 149 [model] => [cenaLow] => 50000 [cenaHigh] => 300000 [rokLow] => 1998 [rokHigh] = > 2009 [tachometrLow] => 40000 [tachometrHigh] => 210000 [palivo] => [karoserie] => [prevodovka] => [pohon] => [barva] => [dvere] => [objem] => [ stav] => [send] => Odeslat )(它也没有列出 print_r,我不得不将它用作表单操作来获取它)
-
能否请您将
error回调添加到您的$.ajax以检查ajax 请求期间是否出现任何错误?error : function() { console.log('ajax request failed!'); }
标签: javascript php jquery ajax