2017-02-22 36 views
1

我有這些代碼,它將php變量存儲到全局JavaScript變量中。所有的模塊都在同一個文件,但我仍然得到一個未捕獲的SyntaxError:意外的標記<,在rowNum1的線: -Javascript:Uncaught語法錯誤:意外的令牌<

<script type="text/javascript"> 
    var glo = 0; 
    var rowNum = <?php echo $_GET['SN'];?>; 
    var newnames = new Array(); 
    var rowNum1 = ""; 
    var tempVal = ""; 
    var destTextarea = ""; 
    newnames=<?php echo json_encode($userinfoarr); ?>; //This varaible initialisation works fine 


    function fetchNext(){ 
      if (glo++ === 0) 
      { 
       if(rowNum < newnames.length) 
       { 
        document.getElementById("Txt0").value = rowNum; 
        document.getElementById("Txt1").value = newnames[rowNum]; 
        tempVal = newnames[rowNum]; 
       } 
       rowNum++; 
      } 
      else 
      { 
       rowNum1=<?php echo json_encode($sln); ?>; //This one throws an Uncaught Syntax error 
       if(rowNum1 < newnames.length) 
       { 
        document.getElementById("Txt0").value = rowNum1; 
        document.getElementById("Txt1").value = newnames[rowNum1]; 
        tempVal = newnames[rowNum1]; 
       } 
       rowNum1++; 
       console.log("test"); 
      } 
    } 
    </script> 

這是$ SLN PHP代碼:

<?php 
    if($_SERVER['REQUEST_METHOD'] == 'POST') 
    { 
     if(isset($_POST['Txt0'])) 
     { 
      $sln = $_POST['Txt0']; 
     } 
    } 
?> 

這是$ userinfoarr

的PHP代碼

有人幫我解決這個問題,因爲我無法在這裏理解這個場景嗎? 以下是錯誤的瀏覽器裏面的PHP代碼的截圖 enter image description here enter image description here

+0

此之前把單引號嘗試: VAR rowNum ='<?php echo $ _GET ['SN'];?>'; –

+0

它是一個js文件嗎? .....好像你試圖訪問js文件中的PHP變量....! – Naincy

+0

那麼,生成的JavaScript代碼是什麼樣的?那裏可能有一個PHP錯誤信息,可以幫助你調試你的問題。我的猜測是,_「未定義的變量」_ –

回答

-1

使用單引號:

var rowNum = '<?php echo $_GET['SN'];?>'; 
+0

var rowNum ='<?php echo $ _GET ['SN'];?>'; –

+0

除非該值是數字,否則不需要。 –

+0

仍然不起作用 – mustangDC

0

改變你的PHP如下面的代碼。分配$sln默認值

<?php 
    $sln = ""; //<---- assign default value to $sln 
    if($_SERVER['REQUEST_METHOD'] == 'POST') 
    { 
     if(isset($_POST['Txt0'])) 
     { 
      $sln = $_POST['Txt0']; 
     } 
    } 
?> 
+0

我給了'$ sln = 0'和'$ sln =「0」';但令人遺憾的是我得到了相同的迴應 – mustangDC

+0

可以爲PHP版本或其他東西,因爲我幾乎所有的時間沒有問題 – mustangDC

+1

請確保這項任務在您的JavaScript代碼 –

0

做這樣的事情

修改$ SLN代碼

<?php 
    if($_SERVER['REQUEST_METHOD'] == 'POST') 
    { 
     if(isset($_POST['Txt0'])) 
     { 
      $sln = $_POST['Txt0']; 

    echo "<script type='text/javascript'>var sln='$sln'</script>"; 

     } 
    } 
?> 

和腳本

{ 
     rowNum1 = sln; // 

       if(rowNum1 < newnames.length) 
       { 
        document.getElementById("Txt0").value = rowNum1; 
        document.getElementById("Txt1").value = newnames[rowNum1]; 
        tempVal = newnames[rowNum1]; 
       } 
       rowNum1++; 
       console.log("test"); 
    } 
相關問題