`
mujizi
  • 浏览: 142207 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ajax 中post与get方法提交的区别

阅读更多

1:

GET访问 浏览器 认为 是等幂的
就是 一个相同的URL 只有一个结果[相同是指 整个URL字符串完全匹配]
所以 第二次访问的时候 如果 URL字符串没变化 浏览器是 直接拿出了第一次访问的结果

POST则 认为是一个 变动性 访问 (浏览器 认为 POST的提交 必定是 有改变的)

防止 GET 的 等幂 访问 就在URL后面加上 ?+new Date();,[总之就是使每次访问的URL字符串不一样的]

设计WEB页面的时候 也应该遵守这个原则

 

2:

一.谈Ajax的Get和Post的区别

   Get方式:
   用get方式可传送简单数据,但大小一般限制在1KB下,数据追加到url中发送(http的header传送),也就是说,浏览器将
各个表单字段元素及其数据按照URL参数的格式附加在请求行中的资源路径后面。另外最重要的一点是,它会被客户端的浏览器缓存起来,那么,别人就可以从浏览器的历史记录中,读取到此客户的数据,比如帐号和密码等。因此,在某些情况下,get方法会带来严重的安全性问题。

   Post方式:
   当使用POST方式时,浏览器把各表单字段元素及其数据作为HTTP消息的实体内容发送给Web服务器,而不是作为URL地址的
参数进行传递,使用POST方式传递的数据量要比使用GET方式传送的数据量大的多。

 

   总之,GET方式传送数据量小,处理效率高,安全性低,会被缓存,而POST反之。

 

使用get方式需要注意:
1 对于get请求(或凡涉及到url传递参数的),被传递的参数都要先经encodeURIComponent方法处理.例:var url = "update.php?username=" +encodeURIComponent(username) + "&content=" +encodeURIComponent

(content)+"&id=1" ;


使用Post方式需注意:
1.设置header的Context-Type为application/x-www-form-urlencode确保服务器知道实体中有参数变量.通常使用
XmlHttpRequest对象的SetRequestHeader("Context-Type","application/x-www-form-urlencoded;")。例:

xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
2.参数是名/值一一对应的键值对,每对值用&号隔开.如 var name=abc&sex=man&age=18,注意var name=update.php?

abc&sex=man&age=18以及var name=?abc&sex=man&age=18的写法都是错误的;
3.参数在Send(参数)方法中发送,例: xmlHttp.send(name); 如果是get方式,直接 xmlHttp.send(null);

4.服务器端请求参数区分Get与Post。如果是get方式则$username = $_GET["username"]; 如果是post方式,则$username = $_POST["username"];

 

AJAX乱码问题

产生乱码的原因:
1、xtmlhttp 返回的数据默认的字符编码是utf-8,如果客户端页面是gb2312或者其它编码数据就会产生乱码
2、post方法提交数据默认的字符编码是utf-8,如果服务器端是gb2312或其他编码数据就会产生乱码
解决办法有:
1、若客户端是gb2312编码,则在服务器指定输出流编码
2、服务器端和客户端都使用utf-8编码

gb2312:header('Content-Type:text/html;charset=GB2312');

utf8:header('Content-Type:text/html;charset=utf-8');

注意:如果你已经按上面的方法做了,还是返回乱码的话,检查你的方式是否为get,对于get请求(或凡涉及到url传递参数的),被传递的参数都要先经encodeURIComponent方法处理.如果没有用encodeURIComponent处理的话,也会产生乱码.

分享到:
评论

相关推荐

    ajax POST 与GET提交的区别

    ### AJAX POST 与 GET 提交的区别详解 #### 一、GET与POST基本概念及应用场景 在探讨AJAX中GET和POST的区别之前,我们先来了解一下这两种请求方式的基本概念。 **GET**请求通常用于获取资源信息,它将参数拼接到...

    Ajax中get和post区别

    "Ajax中Get和Post请求的区别" Ajax作为异步JavaScript和XML的简写,是一种创建交互式网页的技术。其中,Get和Post是两种常用的HTTP请求方法,尽管它们都是用于将数据从客户端发送到服务器端,但是它们之间存在着很...

    Ajax中get与post请求详解

    Ajax 技术中 get 与 post 两种请求方式是许多开发者经常遇到的疑问,以下将详细解释两者的区别,并提供实例代码。 一、get 与 post 的基本区别 1. 参数传递方式:get 请求将参数数据队列加到提交表单的 ACTION ...

    Java 模拟Ajax POST GET 提交代码

    Java 模拟Ajax POST GET 提交代码,实测很好用。

    PHP+Jquery+AJAX POST,GET提交表单并接收返回

    3. **AJAX请求**:使用jQuery的`$.ajax()`或`$.post()`,`$.get()`方法发起异步请求。例如,对于POST请求: ```javascript $.ajax({ type: 'POST', url: 'server_script.php', // PHP处理脚本路径 data: $('...

    jQuery ajax、post、get、json格式传递数据例子

    本篇文章将深入探讨jQuery中的ajax、post、get方法以及如何使用json格式传递数据。 1. **jQuery的$.ajax()函数** `$.ajax()`是jQuery提供的核心Ajax功能,它可以实现异步数据交互。通过配置各种参数,可以灵活地...

    Ajax中POST和GET的区别

    ### Ajax中POST和GET的区别详解 #### 一、概述 在Web开发中,尤其是在使用Ajax进行前后端交互的过程中,GET和POST是最常见的两种HTTP请求方式。这两种方式虽然都是用来发送请求给服务器,但在具体实现机制、适用...

    php+Ajax(GET&POST)完美实例

    本文将深入探讨如何使用PHP和Ajax解决GET和POST请求中的中文乱码问题,并结合MySQL数据库实现数据的交互。 首先,PHP是一种服务器端的脚本语言,常用于Web开发,可以生成动态网页内容。在处理中文字符时,我们需要...

    ajax快速解决参数过长无法提交成功的问题

    在ajax中使用post方法,用常规的参数格式:param1=a1&param2=a2 ,当参数长度过长时,依然提交不成功。比如我们经常这样写一个ajax的post请求: $.ajax({ type: "post", // post or get contentType:"application...

    使用jQuery的ajax的post与get发送数据到指定url

    本篇文章将深入探讨如何使用jQuery的`ajax`方法中的`post`和`get`来向指定URL发送数据。 首先,让我们了解`GET`和`POST`这两种HTTP请求方法的基本概念。`GET`是最常见的请求方式,用于从服务器获取数据,通常显示在...

    JS Ajax类 支持POST,GET方式提交

    一个类实现 AJAX, 支持POST与GET提交

    ajaxRequest.js(ajax get post方法封装,方便前端调用)

    封装jquery ajax方法,方便调用,避免在代码中频繁使用 $.ajax({ type: 'GET', url: url, ...... )}; 统一调用公共方法即可,区分同步异步,get post!希望对大家有帮助

    jquery最全面的ajax例子 ajax post get load 应有尽有

    $.get()和$.post()方法 、 $.getScript()和$.getJson() 、 $.ajax()方法 、 序列化元素 、 jQuery中的Ajax全局事件 这些都有详尽的例子,一看代码,你就能明白jquery里实现ajax是怎么回事了,简单明了。

    jQuery+get/post+Ajax+Json

    1. jQuery的$.get和$.post方法:这两种方法是jQuery提供的Ajax(异步JavaScript和XML)接口,用于与服务器进行非刷新的数据交换。$.get用于发送GET请求,而$.post用于发送POST请求。它们都接受四个参数:URL、数据、...

    Ajax Get、Post请求

    **GET与POST的区别** 1. **数据位置**:GET将数据附加到URL,POST将数据放在请求体中。 2. **数据大小**:GET受限于URL长度(约2KB),POST无明显限制。 3. **安全性**:GET请求的数据会出现在浏览器的历史记录和...

    j2ee21:ajax01:get提交、post提交(完成用户名搜索),两者的区别(中文乱码问题、缓存问题)

    在这个教程中,我们将深入探讨AJAX的GET和POST提交方式,以及它们在实现用户名搜索功能时的区别,同时也会解决可能出现的中文乱码问题和缓存问题。 首先,GET和POST是HTTP协议中的两种主要请求方法,它们在AJAX中...

    php实现ajax、post、get无刷新提交并跳转及验证用户

    对于POST请求,你可以设置请求方法、URL、数据和请求头,然后在回调函数中处理服务器返回的数据。GET请求则相对简单,可以直接在URL中附带参数。在`a2p.html`中,可能有类似以下的JavaScript代码: ```javascript ...

    Ajax的post方法的使用

    #### 二、GET与POST方法的区别 在HTTP协议中,GET和POST是最常见的两种请求方式。它们之间的主要区别在于: 1. **传输数据的位置**:GET方法通过URL传递参数,而POST方法将数据放在请求体中发送。 2. **安全性**:...

    jQuery中Ajax的get、post等方法详解.docx

    $.post()方法与$.get()类似,但使用POST方式提交数据,更适用于发送大量或敏感数据,因为POST请求不会显示在浏览器地址栏。基本语法如下: ```javascript $.post(url, data, success, dataType); ``` 两者之间的...

Global site tag (gtag.js) - Google Analytics