我有一個項目,需要將數據庫中的文本寫入HTML5 canvas/Javascript應用程序。將內容加載到應用程序的最佳方式
要選擇這個內容,我已經指定了一個屬性「reference」,我可以向數據庫提問內容id,例如:index.php?reference = exercise1。
我已經使用了AJAX,因爲我需要將文本內容轉換爲一個Javascript變量才能在畫布上寫入數據。 我的解決方案正在工作,但我需要從Javascript document.URL中獲取引用屬性值,而不是PHP $ _GET。
下面是代碼:
var url = decodeURIComponent(document.URL);
var attr = "reference";
var attrPos = url.lastIndexOf(attr);
var referencePos = attrPos + attr.length + 1;
var reference = url.substr(referencePos,url.length);
我在做什麼似乎不是乾淨的方式給我。
首先,?reference =應該與PHP $ _GET一起使用,不能通過Javascript被黑客入侵。
然後,如果我的應用程序位於名爲「reference」的文件夾中,則必須使用lastIndexOf()而不是search()方法才能獲得良好的值。
如果我在名爲「reference」的文件夾中使用URI(如localhost/reference/projectfolder/index.php)和數據庫中名爲「projectfolder」的引用將項目加載,即使我有沒有要求index.php?參考=項目文件夾
從你的經驗,什麼是在我的情況下最好的解決方案:能夠獲得PHP/MySQL數據使用Javascript。阿賈克斯似乎是最好的方式,但你可以看到它不乾淨,至少我的解決方案。
感謝您的幫助。
爲什麼你需要使用URI?當頁面首次加載時,爲什麼不會將參數設置爲js變量,如'<?php echo「var currentReference =」。 json_encode(($ reference?$ reference:null))。 「;」 ?> – prodigitalson
@prodigitalson我有一個Javascript類,外部js文件作爲我的主程序,我訪問並寫入畫布,所以我認爲這不是一個好的解決方案,打印變量 – baptx