2014-03-18 71 views
-1

我試圖使用jQuery的週期幻燈片一個PHP代碼片段,但控制檯給了我這個錯誤:如何在JavaScript文件中插入PHP代碼

"Uncaught SyntaxError: Unexpected token < "

var startingSlide = <?php echo $_GET["thumb"] ?>; 

$(slideshowContainer).cycle ({ 
    startingSlide: startingSlide 
}); 

我如何使用PHP代碼正確嗎?

我很感激你的幫助。

+0

不PHP請求語句後的分號? –

+0

你需要var startingSlide =「<?php echo $ _GET [」thumb「]?>」;只有當您的.js文件已被添加爲執行PHP的處理程序。 – lshettyl

+0

@ Mr.Polywhirl不在php的最後聲明:http://www.php.net/manual/en/language.basic-syntax.instruction-separation.php – bobkingof12vs

回答

6

PHP沒有用.js結尾解析文件,但是您可以讓PHP解析器解析javascript文件,但這真是個壞主意,而是將PHP插入到它所屬的PHP文件中,並將數據與JavaScript的

<div id="some_element" data-startingslide="<?php echo $_GET["thumb"] ?>"></div> 

然後做

var startingSlide = $('#some_element').data('startingslide') 

$(slideshowContainer).cycle ({ 
    startingSlide: startingSlide 
}); 
+0

它爲什麼屬於那裏,而不是直接回應變量? – bobkingof12vs

+0

@ bobkingof12vs - 這不是在答案中解釋嗎?問題的標題顯示爲「javascript文件」,JavaScript文件不被PHP解析。當然,你可以將這個值回顯到全局,但它仍然在PHP代碼所屬的PHP文件中,而不是在JavaScript文件中,並且使用數據屬性似乎比全局更爲合適。 – adeneo

+0

啊,看到我認爲你的意思是迴應變量所屬的php,看到你像它一樣迴應到div,而不是像op那樣迴應到全局。我想我的問題更多的是你爲什麼迴應div而不是全球? – bobkingof12vs