ajax get 中文参数的时候为什么需要转码

guosheng1987 2011-05-11 10:52:15
$('#test1').click(function() {
$.ajax({
type:'GET',
cache:false,
url:'ajax.php',
data:'name=测试中文',
success:function(msg){
alert(msg);
}
});
});


测试上面这段代码,在utf-8编码下的ajax.html页面发送到utf-8编码下的ajax.php页面

在ie下面会取不到值,而在firefox下面得到一个正确的值,求解
...全文
275 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
toury 2011-05-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 guosheng1987 的回复:]

楼上,用post当然可以,
另外。编码之后用get 也可以

但是为什么ie在不编码的情况下发送了一个空值给ajax.php??? 这是我想不通的
[/Quote]
有什么想不通的?
你用的是AJAX的GET方式;意味着你的data:'name=测试中文'是要以URL参数方式发送到后台;而URL中带中文在编码方面是很容易出错的,所以你编码了就没出错OK了,没编码就出错了呗.
所以我才建议你用POST
guosheng1987 2011-05-11
  • 打赏
  • 举报
回复
楼上,用post当然可以,
另外。编码之后用get 也可以

但是为什么ie在不编码的情况下发送了一个空值给ajax.php??? 这是我想不通的
toury 2011-05-11
  • 打赏
  • 举报
回复

$('#test1').click(function() {
$.ajax({
type:'POST',
cache:false,
url:'ajax.php',
data:'name=测试中文',
success:function(msg){
alert(msg);
}
});
})
toury 2011-05-11
  • 打赏
  • 举报
回复
$('#test1').click(function() {
$.ajax({
type:'GET',
type:'POST'
cache:false,
url:'ajax.php',
data:'name=测试中文',
success:function(msg){
alert(msg);
}
});
})
guosheng1987 2011-05-11
  • 打赏
  • 举报
回复
根本就没有任何错误,
阳明 to life 2011-05-11
  • 打赏
  • 举报
回复
js兼容不,有没IE不兼容得js导致错误

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧