我是webdev的初学者,我正在尝试将selectedCategories数组发布到名为'searchMatthew.php'的PHP文件中,但我似乎无法使用它。 JS文件也在searchMatthew.php文件中运行。我将不胜感激任何帮助!感谢。
PHP:
<?php
$searchWord = "";
if(isset($_POST['selectedCategories'])){
echo "SUCCESSFUL";
}
if(isset($_POST['companies'])){
}
if(isset($_POST['word'])){
$searchWord = $_POST['word'];
echo $searchWord;
}
?>
jQuery的:
var selectedCompanies = new Array;
var selectedCategories = new Array;
$("input:checkbox.categories").change(function () {
selectedCategories = new Array;
$('input.categories:checked').each(function () {
selectedCategories.push($(this).val());
});
$.ajax({
type: "POST",
data: {
'selectedCategories': selectedCategories
},
url: "searchMatthew.php",
success: function () {
alert(selectedCategories);
}
});
});
答案 0 :(得分:0)
success
回调函数需要采用响应参数。 data
属性描述了您将通过发送到PHP的数据,因此您有一个字符串(键)来引用$ _POST中的数据。
当PHP返回响应时,selectedCategories
仍然引用您发送到PHP的数据,而不是PHP返回的数据 。
成功类型:Function(PlainObject数据,String textStatus,jqXHR jqXHR)请求成功时调用的函数。功能 传递三个参数:从服务器返回的数据, 根据dataType参数格式化;一个字符串描述 状态;和jqXHR(在jQuery 1.4.x,XMLHttpRequest中)对象。
您应该像这样编写代码:
$.ajax({
type: "POST",
data: {'selectedCategories':selectedCategories},
url: "searchMatthew.php",
success: function(data){
alert(data);
}
});
答案 1 :(得分:0)
尝试使用ajax发布快捷方式$.post(url[,data][,callback])
您还缺少成功回调的返回变量。所以改变你的成功回调如下:
$.post('searchMatthew.php', {'selectedCategories': selectedCategories}, function(xData, status){
alert(xData); //should be "SUCCESSFUL"
});