Ajax get方法 IE 下乱码
2024-08-24 15:58:43
每个浏览器处理编码的格式不同。 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\":\"没有此人,请重新填写\"}");
}
}
最新文章
- apache解析多个域名
- 一个Try多个Catch需要注意的事项
- ros使用RPLIDAR激光雷达
- Odoo 库存管理-库存移动(Stock Move)新玩法
- SPOJ VLATTICE Visible Lattice Points 莫比乌斯反演
- UVA11125 - Arrange Some Marbles(dp)
- mysql之 mysql 5.6不停机主从搭建(一主一从)
- 51nod_1264:线段相交(计算几何)
- poj2186(tarjan缩点)
- css 单位px、em、rem、vh、vw、vmin、vmax区别
- ULMFiT 阅读笔记
- linux每日命令(8):mv命令
- HDU - 1400 Mondriaan&#39;s Dream
- MATLAB实现截位的问题
- 查看Linux 、Nginx、 MySQL 、 PHP 版本的方法
- HBase数据存取流程
- ADO.NET对象模型之间的关系
- JQuery EasyUI DataGrid动态合并(标题)单元) 一
- 查看win激活状态的命令
- 为什么是static?
热门文章
- Falcon Genome Assembly Tool Kit Manual
- Android SQlite详解
- iOS AVCaptureVideoDataOutputSampleBufferDelegate 录制视频
- dede如何新建一个ajax服务端输出文件
- VBA控件一些属性的解释
- 怎么实现form表单提交后不重新刷新当前页面
- 5月5日 while、do{}while
- Metro UI(Win 8风格)页面设计小记
- win7_oracle11g_64位连接32位PLSQL_Developer
- ORACLE数据泵还原(IMPDP命令)【转】