0
  1. 我有一个名为 test.html 的页面。此 HTML 页面将包含 2 个 JavaScript 文件。我需要使用第一个 JavaScript 文件将变量值传递给 PHP 文件。用户可以在任意多的页面上复制此 javascript 以显示输出。
  2. 从 JavaScript 文件接收变量的 PHP 文件根据变量的值从数据库中检索一些数据。这个检索到的值可以包含 HTML 内容。此 PHP 文件将始终驻留在我的服务器上。
  3. 所有检索到的内容(来自 PHP 文件)都需要传递到第二个 JavaScript 文件,以便可以在浏览器中显示数据。此 JS 文件需要与第一个 JS 文件保持在一起才能显示数据。

所以我有这个:

JavaScript 文件

<script type= "text/javascript" src="http://www.myserver.com/custom_script.php?unique_id=12"></script>

PHP文件

//custom_script.php
<?php
$unique_id= (int)$_GET['unique_id'];

$res = db_res(" SELECT col1, col2, col3, .... col10 FROM table WHERE unique_id = $unique_id
         LIMIT 1 "); 
$rows = mysql_fetch_array($res);
?>
<div id="1"><?php echo $rows['col1']; ?></div>
<div id="2"><?php echo $rows['col2']; ?></div>
<div id="3"><?php echo $rows['col3']; ?></div>
.
.
.
<div id="10"><?php echo $rows['col10']; ?></div>

我需要将上面的所有 HTML 从 PHP 文件发送到第二个 JavaScript 文件,以便显示输出。请注意,CSS 样式也使用 Div ID 应用,所以我希望这些样式也会出现。请注意,可能有超过 10 列,因此非常感谢一种有效的数据传递方式。

那么,将 PHP 文件中的所有 HTML 数据一次性发送到位于 test.html 页面中的第二个 javascript 文件,以便 HTML 数据可以显示在 test.html 文件中的最简单和最好的方法是什么?

编辑1:

如果我的问题令人困惑,我向大家道歉。我只是想到了一个示例,因此想将其添加到我的编辑中。我希望你们都知道谷歌分析(GA)(或任何其他网站访问统计跟踪器)的作用。正确的?您注册了一个分析帐户,Google 会为您提供一段 JS 代码,您可以将其复制并粘贴到您的网站中。几天后,您可以登录您的 GA 帐户查看统计信息。正确的?我在这里尝试做的事情是一样的。

用户来到我的网站并注册一个帐户,我给他们 JS 文件,他们可以粘贴到他们的网站上。GA 和我的网站之间的唯一区别是 GA 对您来说是个人的,对其他人没有,但您,帐户持有人可以看到它。而在我的情况下,只要您在网站上包含 JS 文件,其他人也可以看到您的数据。因为用户不能只获取我的 PHP 文件并在他们的服务器上运行它,所以我试图通过在 JS 文件中提供完整路径来访问我的 PHP 文件。

例如:

<script type= "text/javascript" src="http://www.myserver.com/custom_script.php?unique_id=12"></script>

这不是一个实际的 JS 文件,它只是我的 custom_script.php 脚本接收用户的 unique_id、查询我的数据库并发回与该请求用户相关的 HTML 数据的媒介。我被这部分困住了。希望这可以阐明我正在尝试做的事情。

4

1 回答 1

0

jQuery 文档实际上给出了一个与您的问题几乎相同的示例:

http://api.jquery.com/jQuery.get/

$.get('ajax/test.html', function(data) {
  $('.result').html(data);
  alert('Load was performed.');
});

这将获得一个 html 页面并将其插入到具有“result”类的 html 元素下。

您应该能够替换您的 php 脚本 url 并指定输出的显示位置。

如果您担心与其他 jQuery 实例发生冲突,请阅读以下内容: http: //api.jquery.com/jQuery.noConflict/

如果您想编写自己的 AJAX 处理程序,请查看此页面: https ://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/Using_XMLHttpRequest

基本上你会做这样的事情(取自链接):

function reqListener () {
  console.log(this.responseText);
};

var oReq = new XMLHttpRequest();
oReq.onload = reqListener;
oReq.open("get", "yourFile.txt", true);
oReq.send();

我认为,如果您以前从未这样做过,那么这样做是值得的,但是您会发现许多已经为您解决的潜在问题。

理想情况下,如果我这样做,我会从处理程序返回 json 并允许用户决定如何显示它,但那是你的电话。

于 2013-04-24T15:44:34.360 回答