gpt4 book ai didi

php - 通过 PHP 访问 JSON 对象

转载 作者:行者123 更新时间:2023-12-02 19:51:54 26 4
gpt4 key购买 nike

我有以下代码..

if (config.sendResultsURL !== null) 
{
console.log("Send Results");
var collate =[];
for (r=0;r<userAnswers.length;r++)
{
collate.push('{"questionNumber'+parseInt(r+1)+ '"' + ': [{"UserAnswer":"'+userAnswers[r]+'", "actualAnswer":"'+answers[r]+'"}]}');
}
$.ajax({
type: 'POST',
url: config.sendResultsURL,
data: '[' + collate.join(",") + ']',
complete: function()
{
console.log("Results sent");
}
});
}

使用 Firebug 我从控制台得到这个。

[{"questionNumber1": [{"UserAnswer":"3", "actualAnswer":"2"}]},{"questionNumber2": [{"UserAnswer":"3", "actualAnswer":"2"}]},{"questionNumber3": [{"UserAnswer":"3", "actualAnswer":"2"}]},{"questionNumber4": [{"UserAnswer":"3", "actualAnswer":"1"}]},{"questionNumber5": [{"UserAnswer":"3", "actualAnswer":"1"}]}]

从这里,脚本将数据发送到 emailData.php,该文件读取...

$json = json_decode($_POST, TRUE);
$body = "$json";
$to = "myemail@email.com";
$email = 'Diesel John';

$subject = 'Results';
$headers = "From: $email\r\n";
$headers .= "Content-type: text/html\r\n";

// Send the email:
$sendMail = mail($to, $subject, $body, $headers);

现在我确实收到了电子邮件,但它是空白的。

我的问题是如何将数据传递到 emailData.php 并从那里访问它?

最佳答案

  1. 创建一个要传递给 PHP 的对象
  2. 使用 JSON.stringify() 为该对象创建 JSON 字符串。
  3. 使用 POST 或 GET 并使用名称将其传递给 PHP 脚本。
  4. 根据您的请求,从 $_GET['name']$_POST['name'] 捕获它。
  5. 在 php 中应用 json_decode 以获取 JSON 作为原生对象。

在你的情况下,你可以只传递 userAnswers[r] 和answers[r]。数组顺序被保留。

在for循环中使用,

collate.push({"UserAnswer":userAnswers[r], "actualAnswer":answers[r]});

在ajax请求中使用,

data: {"data" : JSON.stringify(collate)}

在 PHP 端,

 $json = json_decode($_POST['data'], TRUE); // the result will be an array.

关于php - 通过 PHP 访问 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9176170/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com