首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

JS传汉字到ashx成为乱码了

2013-09-06 
JS传汉字到ashx变成乱码了js里alert还是汉字,传到ashx变成乱码,在网上查说加那个contentType什么的utf-8,

JS传汉字到ashx变成乱码了
js里alert还是汉字,传到ashx变成乱码,在网上查说加那个contentType什么的utf-8,可没说在哪加怎么加?试了好多还是乱码。。。

function getFileName() {
            var path = document.getElementById("Main_FileUpload1").value;
            var pos1 = path.lastIndexOf("\");
            var pos2 = path.lastIndexOf(".");

            var pos = path.substring(pos1 + 1, pos2);
            alert(pos);

            var xhr = createXhr();
            xhr.open("get", "AjaxTest.ashx?name=" + pos, true);
            xhr.setRequestHeader("contentType", "application/x-www-form-urlencoded; charset=UTF-8");
            xhr.onreadystatechange = function () {
                if (xhr.readyState == 4) {
                    if (xhr.responseText == "y") {
                        alert(xhr.responseText);
                    } else {
                        alert(xhr.responseText);
                    }
                }
            }
            xhr.send(null);
        }


ASHX
<%@ WebHandler Language="C#" Class="AjaxTest" %>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Haiyang.DAL;
using System.IO;


using Haiyang.Model;

public class AjaxTest : IHttpHandler {

    Haiyang.Model.Project p = new Haiyang.Model.Project();
    Haiyang.DAL.ProjtectDAL pd = new Haiyang.DAL.ProjtectDAL();
    
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        string s=null;
        if (context.Request.QueryString["name"]!=null)
        {
             s= context.Request.QueryString["name"].ToString();    
        }
        System.Threading.Thread.Sleep(200);
        
        if (pd.check(s))
        {
            context.Response.Write("S"+s+"S");
        }
        else
        {
            context.Response.Write(context.Request.QueryString["name"]+"重复了");
        }
    }
}


到底在哪加???而且我发现这代码谷歌,火狐好使,IE,搜狗完蛋 JavaScript ajax asp.net ashx
[解决办法]
 JS:
 xhr.open("get", "AjaxTest.ashx?name=" + encodeURI(pos), true);
 ASHX:
 URLDecoder.decode();
;


[解决办法]
JS:
 xhr.open("get", "AjaxTest.ashx?name=" + encodeURI(pos), true);
 ASHX:
 context.Server.HtmlDecode(context.Request.QueryString["name"].ToString())

热点排行