我有以下AJAX代码:
<script type='text/javascript'>
$(document).ready(function () {
$('.questionform').on('submit', function(e) {
e.preventDefault();
$.ajax({
url : "aplaygroundajaxtest.php",
type: "POST",
data: $(this).serialize(),
success: function (data) {
<?php
print_r($QuestionTypePercent);
if($QuestionTypePercent < 100){?>
alert("Alert Message OnClick");
<?php } ?>
},
});
});
});
</script>
在来源中,
print_r($QuestionTypePercent);
if($QuestionTypePercent < 100){?>
alert("Alert Message OnClick");
<?php } ?>
显示为14 alert("Alert Message OnClick");
,我收到错误&#34; Uncaught SyntaxError:Unexpected identifier&#34;在那条线上。
当我删除print_r($QuestionTypePercent);
时,问题就解决了。
为什么print_r($QuestionTypePercent);
会干扰&#34;如果&#34;在它之后的条件,我该如何解决这个问题?似乎我需要在两条线之间进行某种中断,但我不确定如何实现这一点。
答案 0 :(得分:1)
$QuestionTypePercent
的值为14
。输出14 alert("Alert Message OnClick");
不是有效的JavaScript。
如果您想输出百分比值以进行调试或其他事情,我建议您将其包含在注释中,或将其移至警报中。
E.g。
<?php if ($QuestionTypePercent < 100): ?>
alert('Alert Message onClick: <?= $QuestionTypePercent ?>');
<?php endif ?>
另请注意alternative control syntax的使用。如果您正在嵌入PHP,HTML和JS,这将有助于使您的代码更具可读性。
答案 1 :(得分:0)
只需将print_r包含在内:
echo "/*";
print_r($QuestionTypePercent);
echo "*/";