簡體   English   中英

PHP Javascript Uncaught SyntaxError: Unexpected token ILLEGAL

[英]PHP Javascript Uncaught SyntaxError: Unexpected token ILLEGAL

我有這個 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 控制台中收到此錯誤消息:

未捕獲的語法錯誤:意外的令牌非法

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>');
    };?>
);

您忘記了下面一行中的isset ,因為您使用了“||”,因此需要它 (或)在你的第一個 if 語句中,php 拋出一個錯誤,這破壞了你的 javascript

$("div.aler").html( "<?php if( $success ){ echo '<p class=\"success\">'.$success.'</p>';}elseif($failure){echo '<p class=\"failure\">'.$failure.'</p>';}; ?>");

把這個改成……

$("div.aler").html( "<?php echo ( isset( $success ) ) ? '<p class=\"success\">'.$success.'</p>' : '<p class=\"failure\">'.$failure.'</p>'; ?>");

您正試圖將其放入 div.alert ……但在您編寫的“div.aler”代碼中,您缺少一個 T ……

$("div.aler").html("<p class='<?=$success? 'success' : 'failure'?>'><?=$success? $success : $failure?></p>");

當然,在輸出之前轉義$success$failure

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM