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);
}
<%@ 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"]+"重复了");
}
}
}