【发布时间】:2019-07-20 13:13:38
【问题描述】:
我已经找到了很多关于这个问题的答案,但没有找到有效的解决方案,可以让我使用 $.post 将表单发布到将数据存储到 csv 文件中的 php 文件中。
formData 在另一个函数中被序列化,该函数将数据存储在 const 中以用于本地存储。实际上 $.post 是在这部分代码中完成的。
jQuery 代码:
function submit(formData) {
function passVal(){
$.post(
"post.php",
formData,
function(formData,status,xhr){
}
);
return false;
}
passVal();
}
PHP 代码:
$obj = $_POST;
$retailer = $obj['retailer'];
$question1 = $obj['question1'];
$offline = $obj['offline'];
$question2_1 = $obj['question2_1'];
$question2_2 = $obj['question2_2'];
$question2_3 = $obj['question2_3'];
$question3 = $obj['question3'];
$timestamp = $formdata['timestamp'];
$old_file = fopen('/output/results.csv', 'a');
$list = array
(
$retailer . ';' . $question1 . ';' . $question2_1 . ';' . $question2_2 . ';' . $question2_3 . ';' . $question3 . ';' . $offline . ';' .$timestamp
);
fputcsv($old_file, $list);
fclose($old_file);
有可行的解决方案吗? 这些答案: Can't retrieve jQuery serialized form data with PHP $_POST[] variable 不要为我工作。
我想把数据放到php中不同的$vars中?
【问题讨论】:
-
我不明白.. 你现在对这段代码的确切问题是什么?你有什么错误吗?发生了什么事?
-
变量没有被填充......它们是空的
-
我明白了,您是否调查过浏览器开发工具网络选项卡中的 ajax 调用?这些字段:“question1”“离线”等是否实际发送?你试过
var_dump($_POST);吗? -
是的,它们是......如果我将它们存储在日志文件中......整个字符串都在那里
-
?? “如果我将它们存储在日志文件中”?如果可以将它们存储在日志文件中,它们怎么可能是空的