【发布时间】:2017-05-17 11:09:18
【问题描述】:
我在其他帖子或教程中搜索过,但不幸的是,没有什么对我有用...
我将 PhoneGap 用于带有表单的小应用程序。我的简化想法是:当访问者在输入中写下他的电子邮件并单击“发送”时,它会向我发送一封包含他的电子邮件的电子邮件。但是,目前,当我发送表单时,我的变量 $_POST['email'] 为空...
这是我的表格:
<form action="http://my-domain-name/app_mail.php" method="POST">
<div id="coord">
<h3>Vos coordonnées</h3>
<div class="group">
<input id="email" type="email" placeholder="Email" required">
</div>
<div class="group">
<input id="envoyer" value="Envoyer" type="submit">
</div>
</div>
</form>
我使用这个 jQuery 代码:
$(document).bind( "mobileinit", function() {
$.post({
// My variables
url: 'http://my-domain-name/app_mail.php',
type: 'POST',
data: {
email: $('#email').val()
}
// Fonction HTML
}, function(html) {
var response = html;
if(response == "success") {
alert("Email envoyé avec succès !");
} else {
alert("Votre email n'a pas pu être envoyé...");
return false;
}
});
$.mobile.allowCrossDomainPages = true;
});
我在互联网上找到了这段代码,我已经根据我的需要对其进行了调整......所以如果我没记错的话,这段代码允许这个函数跨域,使用变量 url,类型和数据,最后写一条消息PHP 是否有效。
最后,我的 PHP:
$email = $_POST['email'];
$header = "From: ".$email;
$message = $email;
// Validation
if($email == "") {
echo "Erreur";
echo "<br>Email :".$email;
} else {
mail("my-email@my-domain.fr", "Message reçu depuis l'application", $message, $header);
echo "Succès";
}
当我尝试发送表单时,我得到了这个答案:
“错误
电子邮件:"
在新页面上...如果我在我的 PHP 文件中添加 ini_set('display_errors', 1);,我在控制台或 PHP 中没有任何错误...
所以我认为我的变量没有被传输,但我不知道为什么......
【问题讨论】:
-
如果你在 chrome 上,打开网络检查器,然后选择保留日志选项,然后单击 btn,然后首先检查 ajax 请求是否进行,然后检查它是否进行,单击请求并转到参数选项卡以查看电子邮件是否正在发送。
-
感谢您的回答!它与 esskay 的解决方案一起使用,是的,我可以在发送表单时看到我的文件!感谢这个技巧:)