刚开始学Ajax,看到很多网上的代码都用Get方法提交参数,Tomcat默认ISO编码实在是让人头痛,对付乱码我都是用过滤器做字符编码过滤的,Get方法过滤器监听不到,所以我一直喜欢使用Post方法,下面对Ajax Get和Post方法做一对比
GET:
<mce:script type="text/javascript"><!--
var xmlHttpRequest;
function createXMLHttpRequest(){
try
{
// Firefox, Opera 8.0+, Safari
xmlHttpRequest=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttpRequest=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
}
//发送请求函数
function sendRequestPost(url,param){
createXMLHttpRequest();
xmlHttpRequest.open("GET",url+"?"+param,true);
xmlHttpRequest.onreadystatechange = processResponse;
}
//处理返回信息函数
function processResponse(){
if(xmlHttpRequest.readyState == 4){
if(xmlHttpRequest.status == 200){
var res = xmlHttpRequest.responseText;
window.alert(res);
}else{
window.alert("请求页面异常");
}
}
}
//身份验证函数
function userCheck(){
var userName = document.loginForm.username.value;
var psw = document.loginForm.password.value;
if(userName == ""){
window.alert("用户名不能为空");
document.loginForm.username.focus();
return false;
}
else{
var url = "Servlet/userLogin_do";
var param = "userName="+userName+"&psw="+psw;
sendRequestPost(url,param);
}
}
// --></mce:script>
<mce:script type="text/javascript"><!--
var xmlHttpRequest;
function createXMLHttpRequest(){
try
{
// Firefox, Opera 8.0+, Safari
xmlHttpRequest=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttpRequest=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
}
//发送请求函数
function sendRequestPost(url,param){
createXMLHttpRequest();
xmlHttpRequest.open("GET",url+"?"+param,true);
xmlHttpRequest.onreadystatechange = processResponse;
}
//处理返回信息函数
function processResponse(){
if(xmlHttpRequest.readyState == 4){
if(xmlHttpRequest.status == 200){
var res = xmlHttpRequest.responseText;
window.alert(res);
}else{
window.alert("请求页面异常");
}
}
}
//身份验证函数
function userCheck(){
var userName = document.loginForm.username.value;
var psw = document.loginForm.password.value;
if(userName == ""){
window.alert("用户名不能为空");
document.loginForm.username.focus();
return false;
}
else{
var url = "Servlet/userLogin_do";
var param = "userName="+userName+"&psw="+psw;
sendRequestPost(url,param);
}
}
// --></mce:script>
POST:
<mce:script type="text/javascript"><!--
var xmlHttpRequest;
function createXMLHttpRequest(){
try
{
// Firefox, Opera 8.0+, Safari
xmlHttpRequest=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttpRequest=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
}
//发送请求函数
function sendRequestPost(url,param){
createXMLHttpRequest();
xmlHttpRequest.open("POST",url,true);
xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttpRequest.onreadystatechange = processResponse;
xmlHttpRequest.send(param);
}
//处理返回信息函数
function processResponse(){
if(xmlHttpRequest.readyState == 4){
if(xmlHttpRequest.status == 200){
var res = xmlHttpRequest.responseText;
window.alert(res);
}else{
window.alert("请求页面异常");
}
}
}
//身份验证函数
function userCheck(){
var userName = document.loginForm.username.value;
var psw = document.loginForm.password.value;
if(userName == ""){
window.alert("用户名不能为空");
document.loginForm.username.focus();
return false;
}
else{
//var url = "Servlet/userLogin_do?userName="+userName+"&psw="+psw;
var url = "Servlet/userLogin_do";
var param = "userName="+userName+"&psw="+psw;
sendRequestPost(url,param);
}
}
// --></mce:script>
<mce:script type="text/javascript"><!--
var xmlHttpRequest;
function createXMLHttpRequest(){
try
{
// Firefox, Opera 8.0+, Safari
xmlHttpRequest=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttpRequest=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
}
//发送请求函数
function sendRequestPost(url,param){
createXMLHttpRequest();
xmlHttpRequest.open("POST",url,true);
xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttpRequest.onreadystatechange = processResponse;
xmlHttpRequest.send(param);
}
//处理返回信息函数
function processResponse(){
if(xmlHttpRequest.readyState == 4){
if(xmlHttpRequest.status == 200){
var res = xmlHttpRequest.responseText;
window.alert(res);
}else{
window.alert("请求页面异常");
}
}
}
//身份验证函数
function userCheck(){
var userName = document.loginForm.username.value;
var psw = document.loginForm.password.value;
if(userName == ""){
window.alert("用户名不能为空");
document.loginForm.username.focus();
return false;
}
else{
//var url = "Servlet/userLogin_do?userName="+userName+"&psw="+psw;
var url = "Servlet/userLogin_do";
var param = "userName="+userName+"&psw="+psw;
sendRequestPost(url,param);
}
}
// --></mce:script>
可以发现,GET方法根据地址栏解析参数,post根据sendRequestPost(url,param);中的param字符串解析参数,重要的是POST方法中需要添加在open();方法后需要添加xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");这句代码,不知道为什么,初学,加了就能传递参数了,日后研究。。。
分享到:
相关推荐
#### 三、AJAX中GET与POST的使用建议 根据上述分析,我们可以得出以下结论: - 对于只需要获取数据且数据量不大、不涉及敏感信息的场景,推荐使用GET请求。 - 对于需要提交大量数据、涉及敏感信息或需要改变服务器...
### AJAX中使用JavaScript的send方法POST参数详解 #### 一、引言 在Web开发中,AJAX(Asynchronous JavaScript and XML)技术被广泛应用于实现网页的局部刷新,提升用户体验。其中,通过JavaScript发送POST请求是一...
在上面的实例代码中,我们使用了Get和Post请求来演示两种请求方法的区别。在客户端代码中,我们使用XMLHttpRequest对象创建了一个Get请求和一个Post请求,并将参数传递给服务器端。在服务器端代码中,我们使用...
封装jquery ajax方法,方便调用,避免在代码中频繁使用 $.ajax({ type: 'GET', url: url, ...... )}; 统一调用公共方法即可,区分同步异步,get post!希望对大家有帮助
NetCore Jquery使用AJAX POST方式下载Excel文件
Java 模拟Ajax POST GET 提交代码,实测很好用。
最近做项目遇到一个需求,需要通过Ajax的post请求下载文件,把实现代码分享给大家。
在ajax中使用post方法,用常规的参数格式:param1=a1¶m2=a2 ,当参数长度过长时,依然提交不成功。比如我们经常这样写一个ajax的post请求: $.ajax({ type: "post", // post or get contentType:"application...
**AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况...但理解基本的XMLHttpRequest使用方法对于开发者来说是非常有价值的,因为它有助于理解和调试问题,特别是在使用这些库时遇到问题时。
本篇文章将深入探讨jQuery中的ajax、post、get方法以及如何使用json格式传递数据。 1. **jQuery的$.ajax()函数** `$.ajax()`是jQuery提供的核心Ajax功能,它可以实现异步数据交互。通过配置各种参数,可以灵活地...
本文将深入探讨如何使用PHP和Ajax解决GET和POST请求中的中文乱码问题,并结合MySQL数据库实现数据的交互。 首先,PHP是一种服务器端的脚本语言,常用于Web开发,可以生成动态网页内容。在处理中文字符时,我们需要...
在上述示例中,我们使用了$.ajax方法,设置type为'POST',data为JSON对象,dataType为'json',以发送JSON数据到服务器并接收JSON响应: ```javascript $.ajax({ url: 'api.php', type: 'POST', data: JSON....
本篇文章将深入探讨如何使用jQuery的`ajax`方法中的`post`和`get`来向指定URL发送数据。 首先,让我们了解`GET`和`POST`这两种HTTP请求方法的基本概念。`GET`是最常见的请求方式,用于从服务器获取数据,通常显示在...
**$.post()**方法是$.ajax()的一个简化的版本,主要用于发送POST类型的请求。它接收三个参数:URL、数据(可选)和回调函数。例如: ```javascript $.post('http://example.com/api/submit', {name: 'John', age: ...
本篇文章将详细讲解如何使用Ajax进行跨域POST请求,并结合Java的Spring框架给出具体示例。 ### 1. 跨域请求的概念 跨域请求是指一个域下的文档或脚本尝试请求另一个域下的资源。出于安全考虑,浏览器默认禁止这种...
在AJAX场景中,POST方法常用于向服务器发送表单数据或自定义数据。 以上就是关于"lotus domino AJAX post数据"这个主题的关键知识点,涵盖了前端与后端的交互、数据传输以及Lotus Domino环境下的处理逻辑。通过这些...
在现代Web应用中,我们经常需要通过Ajax...通过以上步骤,我们可以实现使用ajax和pako.js的gzip数据压缩上传,有效解决POST数据过长的问题。这种技术尤其适用于需要发送大量数据的场景,如文件上传、实时同步大数据等。
### jQuery使用Ajax方法调用WebService知识点详解 #### 一、简介 在Web开发领域中,Ajax(Asynchronous JavaScript and XML)技术被广泛应用于实现页面局部刷新等功能,极大地提升了用户体验。结合jQuery这一流行的...
3. **AJAX请求**:使用jQuery的`$.ajax()`或`$.post()`,`$.get()`方法发起异步请求。例如,对于POST请求: ```javascript $.ajax({ type: 'POST', url: 'server_script.php', // PHP处理脚本路径 data: $('...