我创建的脚本首先发送用户获取数据摘要的代码,然后点击按钮将数据发送给网站管理员的电子邮件。
我有这个PHP数据:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
?>
然后我需要ajax以一种可以读取并提交到php格式的方式获取数据:
<script type="text/javascript">
$(document).ready(function() { //Quando documento estiver pronto
$('#btnEnviarEmail').click(function() {
var name = $('#name').val();
var email = $('#email').val();
var urlData = {
"name": name,
"email": email
};
// Ajax
$.ajax({
type: "POST",
url: "sendmailivamdefinitivo.php", // endereço do phpmailer
async: true,
data: urlData,
// informa Url
success: function(data) { // sucesso
$('#retornoHTML').html(data);
},
beforeSend: function() { // antes de enviar
$('.loading').fadeIn('fast');
},
complete: function() { // completo
$('.loading').fadeOut('fast');
}
});
});
});
</script>
我应该用这种方式来获取php字符串吗?:
var name = $('name').val();
var email = $('email').val();
答案 0 :(得分:0)
没有
使用此:
var name = "<?php echo $name; ?>";
var email = "<?php echo $email; ?>";
这将在输出中回显PHP变量(在JS代码中表示)。所以$name
和$email
的值将存储在JS变量中(因为它用“”编码)。
请记住,PHP变量应该在JavaScript标记之前定义(很明显)。
编辑:正如OP在评论中所说,我对问题的理解是:
有两个PAGE,在第一页上用户提交一些值(可能是代码),PHP接收这些值并在变量中准备summary of data
。现在在第二页,这些变量显示给用户(用于审查/ confiermation),然后用户将通过AJAX将数据发送给网站管理员。问题是如何在AJAX var。
第一页提交 - &gt; PHP(在var中有数据) - &gt; AJAX(将PHP var的数据发送给网站管理员)。
示例来源:(第二页)
<?php $name=$_POST["name"]; //from previous page submission...
$email=$_POST["email"];// ...(previous page can be same PHP page)
$someOtherVar="summary"; ?>
<SCRIPT type="javascript/text">
var name = "<?php echo $name; ?>"; //declaring JS vars having value of PHP vars
var email = "<?php echo $email; ?>";
//JS code to make AJAX request to send these JS vars (same as OP's)
</SCRIPT>
<body>
displaying summary here by php
<?php
echo $name;
echo $email;
//..... other summary data if there
?><br />
<input type="button" id="btnEnviarEmail" value="SEND to Webmaster/Confirm" />
</body>