我有一个项目,需要将数据库中的文本写入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