永发信息网

ajax传值在ie下用Request.QueryString取不到,在FF下可以取到?

答案:1  悬赏:70  手机版
解决时间 2021-07-21 03:26
  • 提问者网友:城市野鹿
  • 2021-07-20 07:28
<script type="text/javascript">
var request = false;
function createRequest() {
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = false;
}
}
}
if (!request)
alert("Error initializing XMLHttpRequest!");
}


//通过省份名称筛选城市
function selectCity()
{
var province= document.getElementById("province");
//alert(province.options[province.selectedIndex].text); //这里测试是取得到省名的
var url="../Handler/RegisterHandle.aspx?province="+province.options[province.selectedIndex].text;
createRequest();
request.open("GET",url,true);
request.onreadystatechange = returnCity;
request.send(null);

}
function returnCity()
{
if (request.readyState == 4) {

if (request.status == 200) {

if(request.responseText!="")
{
var city1=document.getElementById("city1");
city1.options.length=0;
var cityitems=request.responseText.split("|");
for(var i=0;i<cityitems.length;i++)
{

city1.options.add(new Option(cityitems[i],cityitems[++i]));
}
}
else
{
alert("aaaaaa");
}

}
}

}

</script>

以上实现根据省名得城市名称,城市名也查得出数据,但IE下在RegisterHandle.aspx用Request.QueryString["province"]就是取不到省名。。在ff下就正常,以前做过类似的也没出现过这样的问题,真是奇怪啊!
最佳答案
  • 五星知识达人网友:何以畏孤独
  • 2021-07-20 08:41

IE 的 URI 编码问题,需要将内容编码再发送。



比如改成这样:var url="../Handler/RegisterHandle.aspx?province="+escape(province.options[province.selectedIndex].text);



var url="../Handler/RegisterHandle.aspx?province="+encodeURI(province.options[province.selectedIndex].text);



你也可以将 GET 方法改成 POST 方法,就不会出现这种问题了。


我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯