PHP to JS:打印与 AJAX responseText 兼容的 js 变量(如 PHP echo)



我正在使用W3学校的AJAX PHP示例(http://www.w3schools.com/ajax/ajax_aspphp.asp)作为我的来宾列表Web应用程序的基础,该应用程序使用存储在LocalStorage中的数据,而不是MySQL数据库,以便用户能够在离线时进行搜索。现在我正在尝试完成搜索来宾部分。

这是它的工作原理(与上面的例子不同):

  1. (index.php). 将所有记录从 MySQL 数据库放置/镜像到JavaScript 数组
  2. (index.php). 将上述 js 数组存储在 LocalStorage 中
  3. .php通过使用示例中使用的 AJAX GET 代码,将搜索到的项目发送到 getData.html(一个 html 文件而不是像W3一样的php文件)
  4. (getData.html)。通过网址参数
  5. (getData.html).循环遍历并匹配值,如上面的例子(用JavaScript重写的代码)。

到此结束了我的成功。AJAX 代码与上面提供的示例中的代码相同(当然对 getData.html 的引用除外),其他所有内容似乎都在工作,所以我不会用我的整个代码打扰您。在上面提到的示例中,在 PHP 文件的屁股上它说

    //output the response
    echo $response;

这就是javascript似乎失败的地方。我一直在拼命尝试回显/打印响应,但由于某种原因,它没有正确返回到索引.php。强制它至少显示某些内容的唯一方法是使用 php echo,或者只是在 getData 文档中的 HTML 标记中的某个地方编写纯 html 文本。我也尝试过getElementById('txtHint').innerHTML = "hello";看看它是否有效但没有成功。

最明显的方法是简单地将 echo $response替换为 js 中的等效项:

    document.write(response);

但是无论Document.write打印什么,都没有任何东西被杀死。应该在其中弹出"提示"的div 是空的。我已经用谷歌搜索了解决方案,打印js变量的不同方法,但没有进一步的成功。也许,document.write与XML或AJAX responseText不"兼容"?对此必须有一个简单的解决方案。希望你们能帮助我。谢谢!

php 当然是一种服务器端语言,它发出一个页面并在后端运行。
JS当然是一种在用户前端运行的客户端语言。
document.write() 是用于发出客户端文本的正确函数;它在页面加载时运行。 例:

<b>My domain is: <script>document.write(document.domain);</script></b>

适当给予

我的域名是:www.mydomain.com

最新更新