它可以将文本框的值传入到另一个页面,在另一个页面调用数据库,生成一个文本框的代码,输出,有本段代码获取,显示到界面
index.aspx
<input id="sta_id" name="sta_id" type="text" onchange=" Tabmenu(this.value)"/>
<div id="stationdiv">请先选择车间!<input id="sta_id" name="sta_id" type="text" /></div>
<script type="text/javascript">
var xmlhttp
function createxmlhttp()
{
var xmlhttp=null
try{
xmlhttp=new XMLHttpRequest()
}
catch(e){
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
}
return(xmlhttp)
}
function Tabmenu(role_id)
{
xmlhttp = createxmlhttp()
xmlhttp.open("POST",("dropstation.aspx?id="+role_id),true)//这里的第一个参数就是那另一个页面
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
xmlhttp.onreadystatechange=change
xmlhttp.send(null)
}
function change()
{
if(xmlhttp.readyState==4)//判断对象状态
{
if(xmlhttp.status==200)//信息成功返回,开始处理信息
{
var power = document.getElementById("stationdiv")
power.innerHTML=xmlhttp.responseText//xmlhttp.responseText这个能够获取从另一个页面输出的内容
}
}
}
</script>
dropstation.aspx页面的后台代码如下,前台什么都不用写
int id=Request.QueryString("id")
string str
............(读取数据库省略,生成字符串省略)
Response.Write(str)
Response.End()
好了,这样就可以了,这里的str会被xmlhttp.responseText获取,并输出到页面上,能够执行dropstation.aspx页面的代码,而且保证页面不会跳转到dropstation.aspx页面
常规的JS没办法全局保存数据
原因是:域名都不一样,跨域了,JS安全限制
解决办法:通过JS把数据传到服务器后端,保存到数据库
不同域名随时连接后端数据库返回的数据同步