环境:win2008+IIS7 用ajax读取txt里的值的时候报bad request 400错误,找不到txt文件,但直接用域名访问txt文件是能打开的,原来的环境是win2003+iis6 换个环境就不好使了,我全是用js写的,直接的静态页面,有谁遇到同样的问题吗

解决方案 »

  1.   

    你ajax指向的路径对吗  是不是写的绝对路径 导致一换环境就出问题啊 
    或者目录结构发生了变化  相对路劲找不到对应文件啊
      

  2.   

    var actionPath = "sys/data/" + currValue + ".txt";
    var xmlhttp;
    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(){
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    analyData(xmlhttp.responseText,currValue,ds,qx);  //成功的话,把返回的数据拆分currValue是省 ds 是市  qx是区,
    }
    }
    xmlhttp.open("GET",actionPath,false);
    xmlhttp.setRequestHeader("If-Modified-Since","0");
    xmlhttp.setRequestHeader("Cache-Control","no-cache");
    xmlhttp.send();我用的是相对路径
      

  3.   

    currValue 正常这个是有值的,而且审查元素时直接查看地址也能访问txt
      

  4.   

    应该是 IIS7 默认不支持 .txt 的 MIME 类型400错误的解释是:
    400 请求出错 
    由于语法格式有误,服务器无法理解此请求。不作修改,客户程序就无法重复此请求。你直接访问 http://xxxxx/xxx/yourfile.txt 试试,是不是400错误?如果确实如此,在默认站点下,设置“MIME 类型”