采用js+ashx文件来做异步请求。其请求的url是:
http://localhost:9517/AjaxService/a0ef.ashx?type=87A4&name=mingz&weburl=http://www.baidu.com&phone=15000099555&cid=158&text=gfdsgds&[email protected]
可是到了服务器后,后台接收参数发现url后面跟的参数变成了:
type=87A4&name=%u574f%u574f&weburl=http%3a%2f%2fwww.baidu.com&phone=15000099555&phone=15000099555&cid=158&text=gfdsgds&mail=it%40baidu.com&mail=it%40baidu.com&VisitorsTimeInfo=2012%25u5E747%25u670830%25u65E5%2520&author=%25u574F%25u574F&url=http%253A%2f%2fwww.baidu.com&url=%2fAjaxService%2fa0ef.ashx&ALL_HTTP=HTTP_CONNECTION%3akeep-alive%0d%0aHTTP_ACCEPT%3atext%2fhtml%2capplication%2fxhtml%2bxml%2capplication%2fxml%3bq%3d0.9%2c*%2f*%3bq%3d0.8%0d%0aHTTP_ACCEPT_CHARSET%3aGBK%2cutf-8%3bq%3d0.7%2c*%3bq%3d0.3%0d%0aHTTP_ACCEPT_ENCODING%3agzip%2cdeflate%2csdch%0d%0aHTTP_ACCEPT_LANGUAGE%3azh-CN%2czh%3bq%3d0.8%0d%0aHTTP_COOKIE%3aVisitorsTimeInfo%3d2012%25u5E747%25u670830%25u65E5%2520%3b+author%3d%25u574F%25u574F%3b+phone%3d15000099555%3b+mail%3dit%40baidu.com%3b+url%3dhttp%253A%2f%2fwww.baidu.com%0d%0aHTTP_HOST%3alocalhost%3a9517%0d%0aHTTP_USER_AGENT%3aMozilla%2f5.0+(Windows+NT+6.1)+AppleWebKit%2f536.11+(KHTML%2c+like+Gecko)+Chrome%2f20.0.1130.1+Safari%2f536.11%0d%0a&ALL_RAW=Connection%3a+keep-alive%0d%0aAccept%3a+text%2fhtml%2capplication%2fxhtml%2bxml%2capplication%2fxml%3bq%3d0.9%2c*%2f*%3bq%3d0.8%0d%0aAccept-Charset%3a+GBK%2cutf-8%3bq%3d0.7%2c*%3bq%3d0.3%0d%0aAccept-Encoding%3a+gzip%2cdeflate%2csdch%0d%0aAccept-Language%3a+zh-CN%2czh%3bq%3d0.8%0d%0aCookie%3a+VisitorsTimeInfo%3d2012%25u5E747%25u670830%25u65E5%2520%3b+author%3d%25u574F%25u574F%3b+phone%3d15000099555%3b+mail%3dit%40baidu.com%3b+url%3dhttp%253A%2f%2fwww.baidu.com%0d%0aHost%3a+localhost%3a9517%0d%0aUser-Agent%3a+Mozilla%2f5.0+(Windows+NT+6.1)+AppleWebKit%2f536.11+(KHTML%2c+like+Gecko)+Chrome%2f20.0.1130.1+Safari%2f536.11%0d%0a&APPL_MD_PATH=&APPL_PHYSICAL_PATH=E%3a%5c%u5de5%u4f5c%u65e5%u5fd7%5c%u535a%u5ba2%u5f00%u53d1%5chuaihuaiBLOG%5chuaihuaiBLOG%5c&AUTH_TYPE=NTLM&AUTH_USER=MVS%5cyibin&AUTH_PASSWORD=&LOGON_USER=MVS%5cyibin&REMOTE_USER=MVS%5cyibin&CERT_COOKIE=&CERT_FLAGS=&CERT_ISSUER=&CERT_KEYSIZE=&CERT_SECRETKEYSIZE=&CERT_SERIALNUMBER=&CERT_SERVER_ISSUER=&CERT_SERVER_SUBJECT=&CERT_SUBJECT=&CONTENT_LENGTH=0&CONTENT_TYPE=&GATEWAY_INTERFACE=&HTTPS=&HTTPS_KEYSIZE=&HTTPS_SECRETKEYSIZE=&HTTPS_SERVER_ISSUER=&HTTPS_SERVER_SUBJECT=&INSTANCE_ID=&INSTANCE_META_PATH=&LOCAL_ADDR=127.0.0.1&PATH_INFO=%2fAjaxService%2fa0ef.ashx&PATH_TRANSLATED=E%3a%5c%u5de5%u4f5c%u65e5%u5fd7%5c%u535a%u5ba2%u5f00%u53d1%5chuaihuaiBLOG%5chuaihuaiBLOG%5cAjaxService%5ca0ef.ashx&QUERY_STRING=type%3d87A4%26name%3d%25E5%259D%258F%25E5%259D%258F%26weburl%3dhttp%3a%2f%2fwww.baidu.com%26phone%3d15000099555%26cid%3d158%26text%3dgfdsgds%26mail%3dit%40baidu.com&REMOTE_ADDR=127.0.0.1&REMOTE_HOST=127.0.0.1&REMOTE_PORT=&REQUEST_METHOD=GET&SCRIPT_NAME=%2fAjaxService%2fa0ef.ashx&SERVER_NAME=localhost&SERVER_PORT=9517&SERVER_PORT_SECURE=0&SERVER_PROTOCOL=HTTP%2f1.1&SERVER_SOFTWARE=&HTTP_CONNECTION=keep-alive&HTTP_ACCEPT=text%2fhtml%2capplication%2fxhtml%2bxml%2capplication%2fxml%3bq%3d0.9%2c*%2f*%3bq%3d0.8&HTTP_ACCEPT_CHARSET=GBK%2cutf-8%3bq%3d0.7%2c*%3bq%3d0.3&HTTP_ACCEPT_ENCODING=gzip%2cdeflate%2csdch&HTTP_ACCEPT_LANGUAGE=zh-CN%2czh%3bq%3d0.8&HTTP_COOKIE=VisitorsTimeInfo%3d2012%25u5E747%25u670830%25u65E5%2520%3b+author%3d%25u574F%25u574F%3b+phone%3d15000099555%3b+mail%3dit%40baidu.com%3b+url%3dhttp%253A%2f%2fwww.baidu.com&HTTP_HOST=localhost%3a9517&HTTP_USER_AGENT=Mozilla%2f5.0+(Windows+NT+6.1)+AppleWebKit%2f536.11+(KHTML%2c+like+Gecko)+Chrome%2f20.0.1130.1+Safari%2f536.11}弄了好几天了。实在是无法发现问题所在啊。删除了文件重新建也是这样,拿出以前做过的ajax对比也是一样,但没有问题。
求大牛救命呀。

解决方案 »

  1.   

    这个我知道啊。我要问的是参数为什么会出现重复的。具体参数我肯定知道要解码的string mail = context.Server.HtmlDecode(context.Request.Params["mail"]);
    问题所在比如:参数中出现两个phone
      

  2.   

    System.Web.HttpUtility.UrlDecode();对你的url解码
      

  3.   


    解码能解决有两个phone吗?
      

  4.   

    这关数据库有什么问题啊。我接收参数的时候就看到url有问题了。- -||| 
      

  5.   

    换个传值方式,GET改成POST,加上对参数的编码
      

  6.   

    你要搞清楚
    post,get这2种方法都区别
      

  7.   


    唉。工作N年了。还要你告诉我要知道post,get这2种方法都区别
      

  8.   

    本帖最后由 net_lover 于 2012-07-31 11:16:32 编辑
      

  9.   

    有两个phone??而且值都是一样的?那肯定就是传值的时候程序哪里出了问题了解决办法如下:
    (治标不治本的方法)  你反正只要一个phone,这两个又都是一样的,那你接收一个不就得了?或者把其中一个phone用正则替换掉