可跨域的不需要XMLHTTP控件的 "AJAX"
原理:服务器调用客户端的脚本函数并动态传递给客户端新的数据。其实应该叫脚本注入而不是Ajax了,不过可以克服Ajax的不可跨域的大毛病
<html>
<head>
<title>"Ajax" test</title>
<script runat="server" language="c#">
void Page_Load(object sender, EventArgs e)
{
string n=Request.QueryString["n"];
if(n!=null)
{
Response.Write(string.Format("onSucceed('hello {0}');", n));
Response.End();
}
}
</script>
<script type="text/javascript">
function invokeServer(url)
{
var script_old=document.getElementById('temp_script');
if(script_old!=null && document.all)
{
script_old.src = url;
return;
}
var head=document.documentElement.firstChild;
var script=document.createElement('script');
script.id='temp_script';
script.type = 'text/javascript';
script.src = url;
if(script_old!=null)
head.replaceChild(script,script_old);
else
head.appendChild(script);
}
function onSucceed(result)
{
alert(result);
}
function button_click()
{
invokeServer('index.aspx?n='+document.getElementById('name').value);
}
</script>
</head>
<body>

<input type="text" id="name" /><input type="button" value="invoke" onclick="button_click()" />

</body>
</html>
<head>
<title>"Ajax" test</title>
<script runat="server" language="c#">
void Page_Load(object sender, EventArgs e)
{
string n=Request.QueryString["n"];
if(n!=null)
{
Response.Write(string.Format("onSucceed('hello {0}');", n));
Response.End();
}
}
</script>
<script type="text/javascript">
function invokeServer(url)
{
var script_old=document.getElementById('temp_script');
if(script_old!=null && document.all)
{
script_old.src = url;
return;
}
var head=document.documentElement.firstChild;
var script=document.createElement('script');
script.id='temp_script';
script.type = 'text/javascript';
script.src = url;
if(script_old!=null)
head.replaceChild(script,script_old);
else
head.appendChild(script);
}
function onSucceed(result)
{
alert(result);
}
function button_click()
{
invokeServer('index.aspx?n='+document.getElementById('name').value);
}
</script>
</head>
<body> 
<input type="text" id="name" /><input type="button" value="invoke" onclick="button_click()" /> 
</body>
</html>

浙公网安备 33010602011771号