我想從我的PHP傳遞一些變量到javascript,它的工作正常,除了當我向函數調用添加特定變量時。有3個變量被傳遞,所有這些變量都與YouTube視頻相關。該ID正在從數據庫中檢索,另外兩個(標題和描述)正在使用來自YouTube的api的ID進行檢索。Javascript Uncaught由於傳遞變量而導致的語法錯誤
<a href="#" class="list-group-item" id="{{$vidID[$i]}}" onclick="updateVid('{{$vidID[$i]}}', '{{$title[$i]}}', '{{$desc[$i]}}test')">
我使用hogan模板,因此{{}}與帶有回顯的php標記相同。這個問題似乎只在將描述變量添加到調用時纔會發生。沒有它,另外兩個工作就很好。在做了一些研究之後,似乎這是由一個看不見的字符引起的,但我重新輸入了我的代碼以確保我的代碼不是問題。開發人員控制檯顯示說明變量的最後一行出現問題,因此似乎正在使用api中的不可見字符檢索描述。我只是試圖用js函數中的描述做一個簡單的提示。我怎樣才能擺脫這個角色?
嘿。變量的內容因視頻而異,但基本上,您可以在常規YouTube視頻中找到該內容。其中一些包含鏈接到Twitter和東西,而其他人只有幾個詞。無論內容如何,他們都會給出這個錯誤。你的建議沒有奏效。你如何建議我使用json_encode。 $ desc變量是一個數組;我應該在這個變量上調用json_encode嗎?如果你給我一個小例子,將不勝感激。感謝回覆! –
哎呀,我沒有正確地嘗試你的建議!我忘了在htmlspecialcharacters方法中包含json_encode。我已經標記了你的答案是正確的。謝謝!我仍然想知道這樣做的正確方法是什麼。 –
@SagarDesai就像我說的,你應該跳過html步驟,並把所有的變量放在一個對象或數組中。您編碼的對象直接在'var my_object = JSON.parse(<?php echo json_encode($ my_vars);?>)'腳本塊中回顯出來。 – jeroen