每个浏览器处理编码的格式不同。 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. FATAL ha.BootstrapStandby: Unable to fetch namespace information from active NN at ***

    This problem (Unable to fetch namespace information from active NN) occurs, because the active namen ...

  2. C#_List转换成DataTable

    /// <summary> /// 讲list集合转换成datatable /// </summary> /// <param name="list" ...

  3. 在linux上搭建本地yum源

    准备yum仓库的光盘镜像IOS文件: 设置光驱加载本地磁盘的yum仓库的光盘镜像文件: 在linux的命令行输入setup命令打开设置窗口,选择"System Service": ...

  4. SVN使用汇总

    SVN项目管理文件夹:Tag/Branch/Trunk Trunk:在我经历的开发中,新建Trunk意味着对旧Trunk的一个保留,同时在新的Trunk中可以进行新功能的开发及对已有功能进行完善: B ...

  5. javascript AOP实现

    参考:http://www.cnblogs.com/rubylouvre/archive/2009/08/08/1541578.html function Person(){ this.say = f ...

  6. 检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统

    /** * Author: laixiangran. * Created by laixiangran on 2015/12/02. * 检测访问网页的浏览器呈现引擎.平台.Windows操作系统.移 ...

  7. 集成代码编辑器ACE的经验

    ACE是最流行的在线代码编辑器之一,在CanTK的集成开发环境GameBuilder里也使用了ACE.ACE的功能非常强大,但是由于使用方法不当,大家反映GameBuilder的代码编辑器不好用.最近 ...

  8. 【图形学】我理解的伽马校正(Gamma Correction)

    http://blog.csdn.net/candycat1992/article/details/46228771/ 写在前面 我相信几乎所有做图像处理方面的人都听过伽马校正(Gamma Corre ...

  9. signalR的一些细节

    获取根目录通过AppDomain.CurrentDomain.BaseDirectory 因为不能直接获取session ,使用的替代方案如下 private static Dictionary< ...

  10. C#中操作txt,抛出“正由另一进程使用,因此该进程无法访问此文件”

    将你的File.Create(fileName); //创建fileName路径的文本改为 1 2 3 using (FileStream fs = File.Create(fileName)){} ...