我想将我的javascript变量转换为php变量。当我点击链接时我可以获得“1”的值,但我想用PHP回显它,或者我想将它存储在PHP变量上。
这是我在同一页面上的Javascript和PHP代码。
<?php $userid = 1; ?>
<a href="#" onclick="sendEmail(<?php echo $userid; ?>)" > Send Mail </a>
<script type="text/javascript">
function sendEmail(userid){
var sendID = userid;
$(document).ready(function(){
$.ajax({
type: "POST",
url: "ajax.php",
data: { toID: sendID },
dataType: 'json',
cache: false,
success: function( toID ){
alert( toID ); }
});
});
}
<?php
$userid = $_POST["toID"];
echo $userid;
?></script>
当我回应它时没有显示。
感谢。
答案 0 :(得分:2)
你不能这样做,因为你的 ajax请求转到另一个请求,你当前的php文件无法获取它。
yourFile.php -> Ajax Request -> yourFile.php
| |
| |-- here your $_POST['todID'] has the value, but it's other thread
|-- here your $_POST['toID'] is empty
更新1:您可以使用成功回调来显示结果或执行任何操作。
success: function( data ) {
alert( data ); //<--- this have the result of your ajax request
javaScriptVar = data;
}
更新2 :如果您需要在显示表单的同一文件中发送电子邮件,则需要放在首位:
<?php
if(isset($_POST['toID'])) {
sendmail($_POST['toID'], "subject", "body");
}
?>
答案 1 :(得分:0)
根据您的代码,您将userid传递给ajax请求并获取另一个userID,做一件事就是实现:
<input type="hidden" name="userid" id="userid" value="<?php echo $userid; ?>">
<a href="#" onclick="sendEmail()" > Send Mail </a>
在你的js代码中:
function sendEmail(){
var sendID = $('#userid');
$(document).ready(function(){
$.ajax({
type: "POST",
url: "ajax.php",
data: { toID: sendID },
dataType: 'json',
cache: false,
success: function( toID ){
//alert( toID );
// update the userID
sendID(toID);
}
});
});
}