Ajax 我可以使用参数从html调用loadXMLDoc()吗?(阿贾克斯)
我有工作电话。现在我需要参数化它,因为相同的Ajax可以在服务器上使用所有不同的脚本 我需要Ajax 我可以使用参数从html调用loadXMLDoc()吗?(阿贾克斯),ajax,Ajax,我有工作电话。现在我需要参数化它,因为相同的Ajax可以在服务器上使用所有不同的脚本 我需要 在xmlhttp.open(“GET”、“/ajaxrun?run=login\u build”,true)中运行不同的脚本 html中的namediv,因此ajax将更新正确的td 在Ajax中如何实现这一点? 我想 我会调用loadXMLDoc,比如,然后 将函数声明更改为函数加载xmldoc(脚本,函数()和 将get调用更改为xmlhttp.open(“get”,“/ajaxrun?run
- 在
xmlhttp.open(“GET”、“/ajaxrun?run=login\u build”,true)中运行不同的脚本代码>
- html中的namediv,因此ajax将更新正确的td
- 我会调用loadXMLDoc,比如
,然后 - 将函数声明更改为
和函数加载xmldoc(脚本,函数()
- 将get调用更改为
最后xmlhttp.open(“get”,“/ajaxrun?run=“+script,true”);
- 将div更改为
document.getElementById(script).innerHTML=xmlhttp.responseText;
<script type='text/javascript'>
//<![CDATA[
function loadXMLDoc()
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
document.getElementById("run").innerHTML=xmlhttp.readyState;
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("run").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","/ajaxrun?run=login_build",true);
xmlhttp.send();
}
//]]>
</script>
</head>
<body>
<h1>Available test suits</h1>
<br/><br/>
<table>
<tr>
<td>
<a href='run?run=login_build'>login_build</a>
</td>
<td>
<button onclick='loadXMLDoc()' type='button'>
run
</button>
</td>
<td>
<div id='run'>script results</div>
</td>
</tr>
<tr>
<td>
<a href='run?run=login_cycle_build'>login_cycle_build</a>
</td>
<td>
<button onclick='loadXMLDoc()' type='button'>
run
</button>
</td>
<td>
<div id='run'>script results</div>
</td>
</tr>
//
可用测试套装
跑
脚本结果
跑
脚本结果
jQuery就是为这种类型的工作而设计的。一般来说,您不希望在创建XHR对象时将所有样板文件都放在上面
具体来说,我喜欢传递对象文字,以使这种类型的通用代码成为可能:
function generic(params) {
if (params.div && params.div instanceof Array && params.div.size() > 0) {
//multiple divs handling goes here
}
ajax(params.url, params.params);
}
generic({
divs: ['div1','div2'],
url: 'http://google.com',
params: {
param1:'hello',
param2:'hi'
}
})
只需通过
函数loadXMLDoc(what\u to\u run)
//
和来自
跑
脚本结果
我必须使用jQuery还是像这里这样使用纯Ajax?你可以使用任何你喜欢的东西,但jQuery Ajax没有什么不完美的地方。它只是一个集中的、开发良好的跨浏览器的Ajax实现。本质上,它是一个可以在任何地方重复使用的库。以上内容不依赖于jQuery。它只是简单的JavascriptI只是因为一件小事不想介绍jQuery。它也帮助我理解了它是如何工作的……谢谢你的帮助。
<script type='text/javascript'>
//<![CDATA[
function loadXMLDoc(what_to_run)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
document.getElementById(what_to_run).innerHTML="<BLINK> processing ...</BLINK>"
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById(what_to_run).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","/ajaxrun?run="+what_to_run,true);
xmlhttp.send();
}
//]]>
<td>
<button onclick='loadXMLDoc("login_build")' type='button'>
run
</button>
</td>
<td>
<div id='login_build'>script results</div>
</td>