我有一个需要数据的联系表单,但我对此不太熟悉,无法弄清楚如何将其链接到我的 php 或如何将 php 链接到电子邮件。
我似乎无法找到哪个变量链接到 php 以及将 php 代码本身放在哪里。
当表单完成时调用此函数:
var onComplete = function() {
// send data to php back end
transmitJSON('post', "", questions, function(error, data, meta) {
console.log("php says:\n\n ",data)
});
};
function transmitJSON(method, url, toSend, callback) {
var callback = callback || function() {}
var xhr = new XMLHttpRequest()
xhr.open(method, url)
xhr.setRequestHeader('Accept', 'application/json')
xhr.onload = function() {
if (this.status != 200) return callback({ status: this.status, statusText: xhr.statusText }, null, xhr)
else {
try {
var json = JSON.parse(xhr.responseText)
} catch (e) {
return callback({ status: 202 }, xhr.responseText, xhr)
}
return callback(null, json, xhr)
}
}
xhr.onerror = function() {
return callback({ status: this.status, statusText: xhr.statusText }, null, xhr)
}
if (!toSend) xhr.send()
else {
xhr.setRequestHeader('Content-Type', 'application/json')
xhr.send(JSON.stringify(toSend))
}
};
我只有这个松散的 PHP 代码,但不知道把它放在哪里......:
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
echo "php server here :)\n";
$json = file_get_contents('php://input');
$values = json_decode($json, true);
foreach($values as $question) {
echo "----------------------\n\n";
echo $question['question'] . "\n";
echo $question['answer'] . "\n\n";
}
echo "end of message";
exit(0);
}
我希望 php 代码捕获 json 中的数据并将其发送到特定的电子邮件。
最佳答案
发送简单的不带 json 的内容:
$.post('path.php, {name: Var1, email: Var2}, function(data){
alert(data);
});
https://api.jquery.com/jQuery.post/
在 PHP 中:
$v1 = $_POST['name'];
$v2 = $_POST['email'];
或者阅读如何在 javascript 中发送表单简单示例 FormData()
https://developer.mozilla.org/en-US/docs/Web/API/FormData/FormData
及功能:
关于javascript - 如何在 php 中捕获 JSON 数据并将其发送到我的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57838972/