【发布时间】:2019-04-15 17:14:18
【问题描述】:
我不知道如何或在我的 PHP 文件中放入什么来检索 AJAX 请求发送的数组数据。我的 PHP 文件中需要什么才能将数组项一一隔离? (数组中的项目数量将是动态的)
我正在检查复选框值,并将这些值放入一个数组中。我将使用这个数组将它们放入一个字符串中。我在我的 PHP 文件中尝试了以下操作,但没有得到任何结果...要么导致错误,要么页面回显/响应没有任何内容。
foreach ($_POST['$inputBoxesValues'] as $value) {
echo $value;
}
$amount = count($_POST);
for ($x = 0; $x <= $amount; $x++) {
echo $_POST[$x];
}
echo implode(",", $_POST);
我现在已经尝试过了.. php 文件没有响应
新的 AJAX 功能
function formProcess() {
var inputBoxesValues = $('input[type="checkbox"]:checked').map( function() {
return $(this).val();
}).get();
var jsonString = JSON.stringify(inputBoxesValues);
$.ajax({
url: 'itemprocessor.php',
data: {data : jsonString},
dataType: 'json',
method: 'POST',
success: function(result) {
window.location.href = "compare.php?" + result;
}
});
console.log(jsonString);
}
PHP 文件...
$data = json_decode(stripslashes($_POST['data']));
foreach($data as $d){
echo $d;
}
我知道在 PHP 中使用、创建和编辑字符串,但我只是不知道如何使用发送到文件的数组数据。
当按下“继续”按钮时调用该函数(以下为原代码)
function formProcess() {
var $inputBoxesValues = $('input[type="checkbox"]:checked').map( function() {
return $(this).val();
}).get(); //makes array
$.ajax({
url: 'itemprocessor.php',
data: $inputBoxesValues,
dataType: 'json',
method: 'POST',
success: function(result) {
window.location.href = "compare.php?" + result;
}
});
console.log($inputBoxesValues);
}
预期结果/结果方法
- 用户选择框(有值)并单击继续,
- AJAX 发送包含所选复选框值数组的数据,
- PHP 文件返回一个字符串,类似于item1,item2,item3
- AJAX 脚本然后将用户发送到带有响应字符串的“compare.php”页面
- “比较”页面使用 url 中的 GET 数据
目前只到第二步,如何实现读取 AJAX 数据?
更新:
我现在尝试了其他的东西,(上面列出),但我注意到的一件事是,在我的 php 代码中,即使我尝试执行echo "Foo Bar";,PHP 代码仍然没有返回任何内容。但是当我只是在文件中不输入任何 PHP 代码而只输入“Foo Bar”时,以普通文本,没有 html 格式或任何东西。该文件以“Foo Bar”响应
注意到这一点,我现在也尝试输入echo '<span>'. $d .'<span>';。这将使文件返回“'. $d .''; } ?>”。到底是怎么回事?
【问题讨论】:
-
为什么不尝试一些您已经找到的答案?如果它们都不适合您,请使用更多信息更新此问题。