每个浏览器处理编码的格式不同。 ajax使用utf-8来编码发送数据,ie在发送时并没加上charset=utf-8,从而导致乱码(IE默认使用iso-8859-1编码)

JavaScript代码:

  function CheckPerson() {   //查询前判断;即根据 姓名 查询用户时,对于重名用户,则显示 用户名 输入框,以用户名查询
var userName = $("#SelPerson").val();
if ( userName == "请填写名称") {
alert("请填写名称");
return false;
} else {
var dis = $("#trAccount").css("display");
if (dis == "none") {
var username = encodeURI("name=" + userName); //注意,此处要进行编码,否则IE浏览器下会出现乱码问题
$.ajax("../ajax/SelectUsers.ashx", {
type: "get",
data: username,
dataType: "json",
cache: false,
success: function (data) {
if (data.State == "error1") {
alert(data.Msg);
$("#trAccount").show();
return false;
} else if (data.State == "error2") {
alert(data.Msg);
return false;
} else if (data.State == "ok") {
return true;
} else {
alert("其他错误,请联系管理员");
return false;
}
}
})
} else {
if ($("#account").val().trim() == "") {
alert("请填写账户");
return false;
} else {
return true;
}
}
}
}

asp页面前台代码:

<div class="div3">
  <table border="0" cellspacing="0" cellpadding="0" style="width: 300px;">
    <tr>
      <td colspan="2">
        <h2>个人</h2>
      </td>
    </tr>
    <tr>
      <td>个人</td>
      <td><input runat="server" type="text" id="SelPerson" value="请填写名称" onfocus="if(this.value=='请填写名称'){this.value='';};" onblur="if(this.value==''){this.value=this.defaultValue;}" />
</td>
    </tr>
    <tr id="trAccount" style="display:none;">
      <td>账户</td>
      <td><input runat="server" type="text" id="account" value="" /></td>
    </tr>
    <tr>
      <td><input class="hide" type="button" value="隐藏" /></td>
      <td><input id="Button3" type="submit" value="搜索" runat="server" onclick="return CheckPerson();" onserverclick="searchPersonal_Click" /></td>
    </tr>
  </table>
</div>

后台页面代码:

        protected void searchPersonal_Click(object sender, EventArgs e)
{
string where = "";
if (account.Visible==false)//账户输入框不显示,以用户名为条件
{
where = " account ='" + account.Value + "'";
}
else
{
where = " username='" + SelPerson.Value + "'";
}
int num = tbUser.GetRecordCount(where);
if (num > )
{
this.SetLimitPerson.Text = "person";
this.SetLimit.Text = "";
this.Rolename.Visible = false;
this.Personal.InnerText = "操作个人-->" + this.SelPerson.Value;
this.Personal.Visible = true;
Bind_Repeater();//绑定模块功能列表
}
}

一般处理页面:

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
HttpRequest Request = context.Request;
HttpResponse Response = context.Response; string userName = Request["name"];
tb_user user = new tb_user();
DataSet ds = user.GetIDByName(userName);
if (ds.Tables.Count>&&ds.Tables[].Rows.Count>)
{
int count = ds.Tables[].Rows.Count;
if (count > )
{
Response.Write("{\"State\":\"error1\",\"Msg\":\"用户名有重复,请填写具体账户\"}");
}
else
{
Response.Write("{\"State\":\"ok\"}");
}
}
else
{
Response.Write("{\"State\":\"error2\",\"Msg\":\"没有此人,请重新填写\"}");
}
}

Ajax get方法 IE 下乱码的更多相关文章

  1. jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)(转)

    版权声明]:版权归作者所有,转载时请以超链接形式标明文章原始出处和作者信息及本声明:http://www.open-lib.com/Forum/Read_69_1.action 前言: 当jquery ...

  2. Ajax中文传参出现乱码

    Ajax技术的核心为Javascript,而javascript使用的是UTF-8编码,因此在页面采用GBK或者其他编码,同时没有进行编码转换时,就会出现中文乱码的问题. 以下是分别使用GET和POS ...

  3. Ajax.BeginForm方法 参数

    感谢博主 http://www.cnblogs.com/zzgblog/p/5454019.html toyoung 在Asp.Net的MVC中的语法,在Razor页面中使用,替代JQuery的Aja ...

  4. Ajax.ActionLink()方法的使用

    第一句话都会这么去写:程序猿就是苦逼,除了开发还要会写博文!哎,今天就和大家一起讨论下Ajax的辅助方法ActionLink的使用,如果有讲的不好的地方或错的地方,请大家务必扔板砖,要投准哦,砸死我算 ...

  5. MySQL数据库乱码 - Linux下乱码问题一

    乱码问题是很让人抓狂的问题,下面我将记录一下linux下mysql乱码问题的解决方法. mysql在linux下乱码问题 一.操作 mysql默认字符集是latin1,但是我们大部分程序使用的字符集是 ...

  6. ajax请求在ie8下缓存问题

    我今天在改项目bug的时候,发现ajax请求在ie8下有缓存,在缓存过期之前,针对相同地址发起的多个Ajax请求,只有第一次会真正发送到服务端.在某些情况下,这种默认的缓存机制并不是我们希望的(比如获 ...

  7. MVC验证09-使用MVC的Ajax.BeginForm方法实现异步验证

    原文:MVC验证09-使用MVC的Ajax.BeginForm方法实现异步验证 MVC中,关于往后台提交的方法有: 1.Html.BeginForm():同步 2.Ajax.BeginForm():异 ...

  8. Ajax请求(二)--JQuery的Ajax请求方法

    JQuery库的Ajax请求的几种方法: 1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. 参数含义: url (String ...

  9. 给Ajax一个漂亮的嫁衣——Ajax系列之五(下)之序列化和反序列化

    给Ajax一个漂亮的嫁衣——Ajax系列之五(下)之序列化和反序列化 标签: ajaxdictionaryjsonobject服务器function 2012-07-25 18:41 2242人阅读  ...

随机推荐

  1. control file sequential read 等待事件

    可能的原因 control file sequential read Reading from the control file. This happens in many cases. For ex ...

  2. s3c2440 J-flash 烧写 NOR flash

    视屏教程里是在NOR Flash 烧写了一个supervivi然后通过superViVi配合DNW下载Uboot程序到landflash第零块,由于我电脑室64位win7,官方提供的USB下载驱动不能 ...

  3. 由《win32多线程程序设计》临界区的问题所想

    之前看侯捷翻译的<win32多线程程序设计>中关于线程同步中的临界区问题,其中举得例子是对链表的操作.死锁的问题是对一个Swaplist函数的问题,现列举代码如下: void SwapLi ...

  4. java 多线程4(死锁)

    死锁现象: 死锁原因: 1.存在两个或两个以上的线程. 2.存在两个或两个或两个以上的共享资源. 死锁现象解决的方案: 没有方案只能尽量避免.

  5. 3D变形旋转

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  6. Intellij IDEA中配置Maven

    maven学习资料:http://www.youmeek.com/intellij-idea-part-xviii-maven/ 待描述...

  7. python 写入csv文件

    import csv   fieldnames = ['Column1', 'Column2', 'Column3', 'Column4'] rows = [{'Column1': '0', 'Col ...

  8. hdu---(1280)前m大的数(计数排序)

    前m大的数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  9. sqlserver 修改替换text,ntext类型字段的两种方案

    方案一 用Update和Replace --替换语句(因为varchar(max)最大值是8000,所以大于8000的部分会被截掉) UPDATE dbo.SNS_UserBlog SET [Desc ...

  10. Idea添加Jetty时提示JMX module is not included

    添加自己的jetty时提示下图 此时,我们应该编辑jetty根目录下 start.ini 添加 "--module=jmx" 此时就可以成功添加了 原因:因为在9.07的时候默认情 ...