javascript之如何使用 javascript 从 php 脚本交互获取数据

虾米哥 阅读:80 2026-05-17 15:37:00 评论:0

我有这个 php 脚本:

<?php 
$arr = array(array("a","b"),array("c","d")); 
qq($arr); 
function qq($arr){ 
foreach($arr as $ar => $r){ 
//getting some work done 
//sending the array $r (or values)to javascript 
} 
} 
?> 

是否可以在数组1之前使用javascript获取数组0的值。

到目前为止我得到的是来自stackoverflow的js:

<script type="text/javascript"> 
function q(){ 
 
var xmlhttp = new XMLHttpRequest(); 
xmlhttp.open("GET", "http://127.0.0.0.1/q.php"); 
xmlhttp.send(null); 
xmlhttp.onreadystatechange = callbackFunction; 
 
function callbackFunction(){ 
if (xmlhttp.readyState == 4){ 
xml = xmlhttp.responseText; 
document.getElementById("q").value = xml; 
}}} 
</script> 

但它没有做我想做的事(我想我错过了一些东西)。

我的html:

<input type="submit" onclick="q();" /> 
<div id="q"></div> 
<div id="q1"></div> 

是否可以将数组 0 的值放入 div(id=q),当数组 1 准备就绪时,将其值放入 div(id=q1)

请您参考如下方法:

通过 XMLHttpRequest() 的“正常”HTTP 请求不允许在单个请求中出现此类行为。

您有以下选择:

Server Send Events

上行空间

  • 它们非常容易构建。服务器上不需要什么特别的东西。只需在 Google 上搜索服务器发送的事件,您就会找到一些有关其工作原理的示例。
  • 它们像任何其他 http 请求一样通过代理和防火墙,因为这是正常的 http 请求。

缺点

  • 不能在 Internet Explorer 上运行(?)
  • 如果某处的代理缓冲过多,可能无法实时更新。然而在这种情况下它仍然有效,只是错过了实时通信

Websockets

上行空间

适用于所有最新的浏览器。使您能够进行全双工通信并获得所需的一切。

缺点

  • 可能会也可能不会通过代理运行,具体取决于代理的配置。
  • 服务器上需要特殊扩展

(Long-) polling

上行空间

  • 最佳兼容性(即使在较旧的浏览器中也能正常工作,代理或防火墙不会出现问题)

缺点

  • 会产生大量开销,因为它会为每条消息创建一个新的 http 连接
  • 您需要将中间结果存储在某处,因为轮询请求来自与代码生成机制不同的线程到您的应用程序。


标签:JavaScript
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号