2

我有一个项目,我需要将数据库中的文本写入 HTML5 画布/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?reference=项目文件夹

根据您的经验,在我的情况下最好的解决方案是什么:能够获取 PHP/MySQL 数据以与 Javascript 一起使用。Ajax 似乎是最好的方法,但你可以看到它并不干净,至少我的解决方案是这样。

谢谢你的帮助。

4

1 回答 1

1

不过,如果我的项目位于名为“reference”的文件夹中,其 URI 类似于 localhost/reference/projectfolder/index.php,并且在数据库中有一个名为“projectfolder”的引用,即使我没有要求,它也会加载内容index.php?reference=项目文件夹

如果您希望仅在请求 index.php 时文档为空,请检查是否设置了 $_GET["reference"] 然后返回一个空正文。

根据您的经验,在我的情况下最好的解决方案是什么:能够获取 PHP/MySQL 数据以与 Javascript 一起使用。Ajax 似乎是最好的方法,但你可以看到它并不干净,至少我的解决方案是这样。

检查这个关于如何在你的身体中返回 JSON 的要点https://gist.github.com/2627924

于 2012-05-16T16:03:29.863 回答