【发布时间】:2017-03-31 18:10:30
【问题描述】:
我一直在寻找问题的答案,但我尝试的每个解决方案都不起作用。
我有一个 html 选择
<select id="exampleid">
<option>Option1</option>
<option selected>Option2</option>
<option>Option3</option>
</select>
Ajax 请求
$('#exampleid').change(function(){
var aabbcc = $(this).val().trim();
$.post("_ws/rca.php?action=brands", {aabbcc:aabbcc}, function(response) {
console.log('search is: ' + aabbcc + ', Response from PHP script: ' + response);
});
})
控制台返回:
search is: Option2, Response from PHP script: array(1) {
["aabbcc"]=>
string(27) "Option2"
}
PHP
if($action == 'brands'){ //action is relevant for link where send the ajax
var_dump($_POST['aabbcc']);
exit;
}
问题是,$_POST 返回空数组。 我也用 print_r 和 var_dump 进行了检查。 显然 AJAX 发送了正确的请求,但在 PHP 中没有到达。
我检查了 404 错误或类似的东西,但一切似乎都很好。
提前致谢。
【问题讨论】:
-
你说 $_POST 是空的,但从你的控制台输出看来数据接收良好,因为我们可以看到 var_dump 的输出。
-
@zkip php 返回一个数组并且它不是空的..
["aabbcc"]=> string(27) "Option2" -
PHP 代码是 if($action == 'brands'){ var_dump($_POST['aabbcc'])} exit;}。并且在php页面中返回的是array(0) { },并且aabbcc变量不存在。是的 $_POST 是空的,但是在控制台输出就可以了。
-
@Ruchish Parikh aabbcc 是一个变量,我不想成为字符串
-
@FastSnail 是的,这就是这个问题的原因。在控制台中一切似乎都很好,但是当我访问特定的 php 页面时,只会返回一个空数组。