javascript - PHP 到 JS : printing js variable (like PHP echo) compatible with AJAX responseText?

标签 javascript ajax variables

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

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

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

但是我的成功到此结束。 AJAX 代码与上面提供的示例中的代码相同(当然除了对 getData.html 的引用),其他一切似乎都正常工作,所以我不会用我的全部代码来打扰你。在提到的示例中,在 PHP 文件的最底部,它说

    //output the response
    echo $response;

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

最明显的方法是简单地用 js 中的等价物替换 echo $response:

    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>

适本地给予

My domain is: www.mydomain.com

关于javascript - PHP 到 JS : printing js variable (like PHP echo) compatible with AJAX responseText?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10068584/

相关文章:

javascript - jQuery slidetoggle 出现故障

javascript - 为什么 Gmail 在动态加载 Modernizr 后会变得疯狂?

javascript - MVC 局部 View 中的 JQuery ui 自动完成功能只能工作一次

c++ - C++ 编译器如何编译变量名?

javascript - 在直线上移动网格 三个 JS

javascript - 如何在 Angular 中使用 WebWorker?

javascript - 如何将 JSON 数据转换为 HTML 格式显示?

php - 闻起来像 AJAX 但我不确定

javascript - 如何将变量传递给 Mongoose "findByIdAndUpdate"

c - 在 C 程序之间共享变量值