我有这个 PHP 脚本,但它不能正常工作。错误是什么?
<?php
if ( isset($success) || isset($failure) ) {
?>
<script>
$(document).ready(function(){
$('div.aler').css('display','block');
$("div.aler").html("<?php if($success){echo '<p class=\"success\">'.$success.'</p>';} elseif($failure) {echo '<p class=\"failure\">'.$failure.'</p>';}; ?>");
setTimeout(function(){
$("div.aler").fadeOut("slow", function (){
$("div.aler").remove();
});
}, 5000);
});
</script>
<?php }
我认为引号一定有问题:
" . $failure
有消息,但 JavaScript 没有将它放在 HTML div 中:
div.aler
我在 Chrome 控制台中收到此错误消息:
Uncaught SyntaxError: Unexpected token ILLEGAL
最佳答案
php 输出没有为 "转义,所以你必须使用\\\"或\' 而不是\"。
顺便说一句,将 json_encode 作为字符串会好得多...
$("div.aler").html(<?php
if($success){
echo json_encode('<p class="success">'.$success.'</p>');
}
elseif($failure){
echo json_encode('<p class="failure">'.$failure.'</p>');
};?>
);
关于PHP Javascript 未捕获语法错误 : Unexpected token ILLEGAL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17253612/