`
zybing
  • 浏览: 447174 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Ajax传参数:Get/Post、中文问题等 -- 网上抄的。

阅读更多

Ajax传参数: Get/Post:

使用Ajax向服务器发送请求参数就可以向服务器“索取”不同的信息了,同一般的表格提交一样,用Ajax提交请求同样有GET与POST之分。

使用GET方法

使用GET方法想服务器床底参数的方法比较直接,就是将构建好的请求字符串添加到url后面。例如下面的示意代码:

var name = document.getElementById('username').value;
var gender = document.getElementById('gender').value;
url = 'process.php';
query = '?name=' + name + '&gender=' + gender;
url+=query;

最后构成的字符串形如:process.php?name=xxx&gender=yyy。

POST方法

使用POST方法提交的时候,url不需要改变,而请求的参数要作为send的参数。

 

1xmlhttp.open("post",url,true);
2//以下两行解决中文参数问题
3xmlhttp.setrequestheader("cache-control","no-cache"); 
4xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
5//传递参数
6xmlhttp.send("name="+name);

 

 

中文乱码:

 

    今天在做项目时,需要用到Ajax,之前我在用GET方式传递中文参数时,只需要在后台程序中设置页面编码为GB2312即中文能正常显示,可是这次由于表单项目较多,不适合用GET方式传递,只能用POST方式,但发现后台程序中设置编码为GB2312时中文还是显示的乱码。经过一番研究问题才最终得到解决。

    解决此问题的方法非常简单,只需要在JS处理参数时用escape()函数处理一下即可,而且不需要再用unescape()解码,这个方法适合POST和GET方式,具体的Ajax代码这里我不例出,这里给出用escape()函数处理参数时的代码:

var htmer ="getcode="+escape(getcode)+"&Content="+escape(Content);  //通常我们在处理Ajax的时候会在这里直接获取参数的值,为了使中文参数不是乱码,我们只需要用escape()函数对参数处理下即可。


欢迎转载,转载请注明:转载自HTMer [ http://www.htmer.com/ ] 

本文链接地址:http://www.htmer.com/article/805.htm 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics