我有一个方法 function click(uri,id)
{
var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");
var url = "/"+uri+".aspx";
xmlhttp.open("POST",url,false);
xmlhttp.send("");
var result =xmlhttp.responseText;
if (result !=null)
{
result;
}
}
有一ASPX页 直接Response.Write("alert('a');");
请问如何让这个JS正确执行呢?换成
if (result !=null)
{
document.getElementById(id).onclick=function(){result;};
} 也执行不了。求助!!!
{
var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");
var url = "/"+uri+".aspx";
xmlhttp.open("POST",url,false);
xmlhttp.send("");
var result =xmlhttp.responseText;
if (result !=null)
{
result;
}
}
有一ASPX页 直接Response.Write("alert('a');");
请问如何让这个JS正确执行呢?换成
if (result !=null)
{
document.getElementById(id).onclick=function(){result;};
} 也执行不了。求助!!!
{
var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");
var url = "/"+uri+".aspx";
xmlhttp.open("POST",url,false);
xmlhttp.send("");
var result =xmlhttp.responseText;
if (result !=null)
{
result;
}
}
你的这个是需要callback函数的.
2. aspx页面最好也加一个Response.End();
以下是给你的示例:
function doClick(uri)
{
var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");
var url = "/" + uri + ".aspx";
xmlhttp.open("POST",url,false);
xmlhttp.onreadystatechange = function() {
if(xmlhttp.readyState == 4) {
if(xmlhttp.status == 200) {
eval(xmlhttp.responseText);
}
}
};
xmlhttp.send("");
}
window.onload = function() {
var uri = 'some uri';
document.getElementById('your_id').onclick = function(event) {
doClick(uri);
};
};
切忌要在IE浏览器上运行,因为你的XMLHTTP对象并没有兼顾到Firefox等非IE浏览器。Enjoy!