每个浏览器处理编码的格式不同。 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. HTTP请求过程详解

    以请求新浪的首页为例,总结HTTP请求的流程: 步骤1:浏览器首先向服务器发送HTTP请求,请求包括: 方法:GET还是POST,GET仅请求资源,POST会附带用户数据: 路径:/full/url/ ...

  2. 出现 could not open jvm.cfg 的解决办法

    出现该的原因很可能是由于卸载 jdk 不干净而引起的(就算是使用工具也一样),在oracle的官方上也是让我们卸载了重装一次.可是重装真的能解决问题吗?  以下方法经过本人的验证,绝对可行! (一定要 ...

  3. Hbase之Exception

    [hadoop@master hbase-1.2.2]$ ./bin/hbase shell2016-08-25 13:53:56,898 WARN [main] util.NativeCodeLoa ...

  4. Hbase之获取数据

    import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.*; import org.apache ...

  5. Graph-tool简介 - wiki

    graph-tool is a Python module for manipulation and statistical analysis of graphs[disambiguation nee ...

  6. js中正则表达式 书写方法

    function test(){    var text="index.aspx?test=1&ww=2&www=3";            var   re = ...

  7. JAVA智能设备基于OpenGL的3D开发技术 之AABB碰撞检测算法论述

    摘要:无论是PC机的3D还是智能设备应用上,碰撞检测始终是程序开发的难点,甚至可以用碰撞检测作为衡量3D引擎是否完善的标准.现有许多3D碰撞检测算法,其中AABB碰撞检测是一种卓有成效而又经典的检测算 ...

  8. [Hadoop 周边] Hadoop技术生态圈

    Hadoop版本演进 当前Hadoop有两大版本:Hadoop 1.0和Hadoop 2.0. Hadoop1.0被称为第一代Hadoop,由分布式文件系统HDFS和分布式计算框架MapReduce组 ...

  9. jquery上传插件Jquery.uploadify.js-转

    Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.不过官方提供的实例时php版本的,本文将详细介绍Uploadify在Aspnet中的使用,您也可以点击下面的链接进行演示 ...

  10. for循环的嵌套——7月24日

      练习一:输入一个正整数,用for循环嵌套求阶乘的和 //输入一个正整数,求1!+2!+....+n! 用for循环嵌套 Console.Write("请输入一个正整数:"); ...