我有一个不同选项的下拉菜单。当您选择一个选项时,该选项内的文本显示在下拉菜单下方。我使用下面的代码:
var stadsnat_ar = new Array();
$(".stadsnat_options").change(function() {
stadsnat_ar.push($(".stadsnat_options option:selected").val()); //This value should be used in PHP to get correct data from MySQL
var stadsnat = stadsnat = $(".stadsnat_options option:selected").text(); //show the text
$('#teststat').show().append('<br>' + stadsnat);
});
整个想法是,你可以选择多个选项,然后点击提交,用你选择的选项在MySQL中进行搜索。如您所见,我用您选择的选项的值赋值了一个数组。如何使数组中的值对PHP可见?
我试过了:
$.ajax({
type: "POST",
url: 'searchengine.php',
data: {stad_value: stadsnat_ar},
success: "",
dataType: "json"
});
然后我这样做:
<?php
echo $_POST['stad_value'];
?>
但是什么也没有出现。有人知道吗?
向PHP公开这些值似乎没有任何问题,所有的问题似乎都是在这个阶段之后出现的。
-
success
需要是一个函数做一些HTTP响应数据,而不是一个空字符串。 - 如果你告诉jQuery忽略服务器说的数据是什么,把它当作JSON,然后确保你发送JSON返回
echo
数组可能不是很有用。。
$.ajax({
type: "POST",
url: 'searchengine.php',
data: {stad_value: stadsnat_ar},
success: doSomething,
dataType: "json"
});
function doSomething(data) {
$('body').text(data.join("-"));
}
和
<?php
header("Content-Type: application/json");
echo json_encode($_POST['stad_value']);
?>