【发布时间】:2019-08-06 19:57:42
【问题描述】:
将表单数据发送到 PHP 脚本以进行处理的简单脚本。 assoc 数组中的数据并输出到控制台表明它存在。使用 jquery AJAX 函数传递数据,但是 PHP 脚本没有接收数组。但是,如果我将数据硬编码到函数中,则会传递数据。
如果尝试将 AJAX 函数“方法”设置为 POST 并删除该选项。我为数组尝试了不同的格式。将数组作为硬编码数组的一部分传递。
Javascript 方面
function saveInformation(e) {
var d = []
var f = $(e)[0].id; //Form name
var formData = $('#'+f).serializeArray();
formData.forEach(function(item){
d[item.name] = item.value;
})
console.log('data',d)
$.ajax({
data: d,
url: "TableUpdate.php"
})
.done(function(e) { $('#agentGeneralInfoTitle').text('Agent General Information (Saved)'); console.log(e);})
.fail(function(e) {
alert("save failed\n" + e.responseText); console.log(e);
});
}
console.log 命令显示变量 d 中的数据。所有数据都存在且格式正确。
PHP端
<?
require_once('/var/www/Debugging/ChromePhp.php');
chromePHP::log($_REQUEST,$_POST);
:
:
:
?>
这会打印出“[],[]”。它在确定数据不存在的情况下正确完成。
我希望数据被传递并且 chromePHP::log 显示一个包含数据的数组。
【问题讨论】:
标签: javascript php jquery forms