【问题标题】:How to get data in php from $.post into $variable?如何将 php 中的数据从 $.post 获取到 $variable?
【发布时间】: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);吗?
  • 是的,它们是......如果我将它们存储在日志文件中......整个字符串都在那里
  • ?? “如果我将它们存储在日志文件中”?如果可以将它们存储在日志文件中,它们怎么可能是空的

标签: php jquery ajax .post


【解决方案1】:

在 Xatenev 的帮助下,我找到了下一个解决方案:

$obj = $_POST['data'];
parse_str($obj, $output);
$question1 = $output['question1'];

$obj = $_POST['data'] 会给你一个字符串:question1=Yes&question2=No

parse_str() 会将字符串解析为变量。现在它可以在我的 php 文件中使用 http://www.php.net/manual/en/function.parse-str.php

tnx 社区的快速帮助和响应!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-30
    相关资源
    最近更新 更多