ajax函数,用于从2个服务器端脚本向2个DOM目标返回值
ajax function for returning values from 2 server-side scripts to 2 DOM targets
我想做的tizag示例在onreadystatechange函数内部更改DOM,如下所示:
if(ajaxRequest.readyState == 4){
document.myForm.time.value = ajaxRequest.responseText;
}
但是我想改变多个DOM目标中的值,所以我的想法是尝试返回一个值。我调整了代码,但显然它不起作用。
这是我改编的完整代码。你可以看到我在底部尝试访问2个不同的脚本。这有可能吗?:
function ajaxFunction(){
var ajaxRequest; // The variable that makes Ajax possible!
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
return ajaxRequest.responseText;
}
}
ajaxRequest.open("GET", "/time.php", true);
var time = ajaxRequest.send(null); // trying to get value from 1st script
ajaxRequest.open("GET", "/date.php", true);
var date = ajaxRequest.send(null); // trying to get values from 2nd script
document.getElementById('time').innerHTML = time; // send 1st variable to DOM
document.getElementById('date').innerHTML = date; // send 2nd variable to DOM
}
我认为ajax.open
调用中的第三个参数表明请求是异步执行的,这意味着ajax.send
调用的返回值不会是来自服务器的脚本的结果。
您应该在附属于onreadystatechange
的匿名函数的主体中设置本地变量。您可以检查ajax对象来确定返回的是哪个服务器脚本。
创建两个不同的ajax对象可能更容易,一个用于请求获取日期,另一个用于请求获取时间。
我还建议您研究一下jquery,它为您做了大量的管道工作,并提供了一种更简单的方法来执行ajax请求。
相关文章:
- 如何检查两个 DOM 相等
- 检查两个或多个 DOM 元素是否重叠
- 如何使用javascript将两个dom元素集合合并到第三个集合中
- AngularJ为多个DOM/作用域提供一个控制器
- 找出两个dom元素的差异,然后使它们相同
- 使用D3.js从单个数据点生成多个DOM元素
- javascript类在每次迭代中看到多个DOM?jquery.每个人都很困惑
- 动态更新数百万个 DOM 元素样式的最快方法
- Knockoutjs 模板:在通过某些属性过滤该数组后,如何将 1 个对象数组用于 2 个 DOM 元素
- 当我尝试两个 DOM 中的 get 元素时,HTML 和 Xpath 结果未定义
- 将 jQuery 事件应用于两个 DOM ID 的选择器
- 如何使用 javascript 移动多个 DOM 元素
- 同一函数中的多个 DOM 更新
- 面向对象的Javascript和多个DOM元素
- 选择所有DOM元素,直到出现几个DOM元素中的一个为止
- 从一个对象悬停到另一个对象,而第二个DOM对象不会立即消失
- 使用javascript onclick实现多个DOM操作函数
- CKEditor插件-为所选文本迭代多个DOM元素的正确方法
- 在javascript中生成两个DOM元素(而不是两个字符串)的差异
- 如何在谷歌地图中同时监听多个DOM事件