我得到了这个奇怪的错误。它恰好是我的PHP代码嵌入到jquery中。
<?php $user=isset($_GET['u']) ? $_GET['u'] : NULL; //This returns a numeric value ?>
<script>
$("button[name='send_mail']").on('click',function(){
var user = '<?php echo $user;?>'; // <----The Problem
$.ajax({
type:"POST",
url:"ajax/scripts/user_mail.php?u="+user,
success: function(data){
alert(data);
},
});
});
</script>
我尝试了单引号和双引号。这段代码恰好在我的一些文件中起作用,而在其他文件中不起作用。
答案 0 :(得分:-1)
<?php
$user = (!empty($_GET['u']))?intval($_GET['u']):0;
?>
<script language="JavaScript">
console.log("User: " + <?php echo $user; ?>);
// try to debug what is really in the variable
var user = <?php echo $user; ?>;
// same as <?= $user; ?>
</script>
答案 1 :(得分:-1)
您在代码的这一部分中有一个流氓逗号:
success: function(data){
alert(data);
}, //<--- here
});
应该只是:
success: function(data){
alert(data);
}
});
答案 2 :(得分:-1)
这有效:
<?php $user=isset($_GET['u']) ? $_GET['u'] : NULL;?>
<span id="user_id_span" style="display:none;"><?php echo $user; ?></span>
<script>
var user = $('#user_id_span').text();
</script>
如果您的输出不仅仅是一个字符串或数字或单行,那么这将不起作用。