首页
学习
活动
专区
圈层
工具
发布

第109天:Ajax请求GET和POST的区别

一、Ajax请求GET和POST的区别   1.使用Get请求时,参数在URL中显示,而使用Post方式,则不会显示出来   2.使用Get请求发送数据量小,Post请求发送数据量大   3.get请求需注意缓存问题...,post请求不需担心这个问题 Get方式:   用get方式可传送简单数据,但大小一般限制在1KB下,数据追加到url中发送(http的header传送),也就是说,浏览器将各个表单字段元素及其数据按照...另外最重要的一点是,它会被客户端的浏览器缓存起来,那么,别人就可以从浏览器的历史记录中,读取到此客户的数据,比如帐号和密码等。因此,在某些情况下,get方法会带来严重的安全性问题。...一般来说,尽量避免使用Get方式提交表单,因为有可能会导致安全问题 三、AJAX乱码问题   产生乱码的原因:     1、xmlhttp 返回的数据默认的字符编码是utf-8,如果客户端页面是gb2312...page=1,表示获取第一页的数据 Post请求的目的是向服务器发送一些参数,例如form中的内容.   与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。

1.9K20

注意IE下Ajax Get缓存的问题

在前端项目开发中,使用get请求时,一定要考虑到 IE浏览器的缓存问题。。。...起源: ​ 常见的是ajax请求过一次以后,以后的相同url的get请求会存在下面这种情况: 第一种情况:有时返回304,有时返回200; 第二种情况:有时无论后台数据是否变化始终返回304,有时却始终返回...在get请求的URL 参数后面加时间戳或者随机数 $.ajax({ url: ‘http://localhost/api/list’, type: ‘get’, data: {...,但实际上每个ajax都会去请求服务器,对web优化并非最佳的解决方案。...用post请求替代get请求 结果: 有其他方式解决现场尝试其他方式解决,一是因为这种做法不符合RESTful API设计,二是因为这种方式同样会每次请求服务器,可能会没有利用到浏览器自带的缓存功能,但是可以解决这个问题

1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一个兼容get请求和post请求的Ajax封装函数

    今天在看某风网老师录制的 Ajax 函数封装的视频,get 和 post 请求都考虑到了,我在这里也做一下笔记。 我把考虑到的都备注上了,以往可以给大家一点参考。...代码如下: JavaScript: function ajax(method, url, data, callback) { // method:请求方式,url:请求的地址,data:数据,callback...:回调     if (method == "post") { //如果是post请求         data = (function (obj) { // 自动执行的匿名函数 (function()...") { //如果是get请求         data = true;     };     var xhr = null;     // 创建异步请求     if (window.XMLHttpRequest...}         })     } 声明:本文由w3h5原创,转载请注明出处:《一个兼容get请求和post请求的Ajax封装函数》 https://www.w3h5.com/post

    1.8K10

    记录一次ajax 429请求laravel api的错误

    大家好,又见面了,我是全栈君。 访问频率限制中间件throttle的使用 1、访问频率限制概述 频率限制经常用在API中,用于限制独立请求者对特定API的请求频率。...X-RateLimit-Limit告诉我们在指定时间内允许的最大请求次数, X-RateLimit-Remaining指的是在指定时间段内剩下的请求次数, Retry-After指的是距离下次重试请求需要等待的时间...注意:每个API都会选择一个自己的频率限制时间跨度,GitHub选择的是1小时,Twitter选择的是15分钟,Laravel中间件选择的是1分钟。...2、如何使用Laravel的访问频率限制中间件 在Laravel 5.2的新特性中,你可以使用一个新的中间件 throttle,让我们先来看看这个中间件的用法,首先我们定义一个路由规则如下: Route...原因如下: laravel框架api路由默认加载 throttle中间件,该中间件限制了一分钟内访问api的次数: 注释掉这行之后就取消了访问的限制 第一个参数 60 代表每分钟限制 60 次请求

    2.6K10

    PHP 解决Ajax跨域请求的问题

    而Access-Control-Allow-Origin这个表现形式就是 例如:客户端的域名是blog.zmzhz.com,而请求的域名是market.zmzhz.com。...如果直接使用ajax访问,会有以下错误: XMLHttpRequest cannot load http://market.zmzhz.com/admin.php....http://blog.zmzhz.com' is therefore not allowed access. 1、允许单个域名访问 指定某域名(http://blog.zmzhz.com)跨域访问,则只需在http...Access-Control-Allow-Origin:http://blog.zmzhz.com'); 2、允许多个域名访问 指定多个域名(http://blog1.zmzhz.com、http://blog2.zmzhz.com等)跨域访问,则只需在http...$origin); } 3、 3.允许所有域名访问 允许所有域名访问则只需在http://market.zmzhz.com/admin.php文件头部添加如下代码: header(

    1.6K30

    ajax --- 解决ajax跨域请求导致session失效的问题

    起因:http是无状态的,因此我们通常需要用到cookie以及session来保存状态,session是在服务器端存储的,会和cookie一起使用,设置了session之后,会发送给浏览器一个cookie...,这个cookie是session_id,当再次请求的时候浏览器会将它发送给服务器,以此来找到对应的session....但是,我们实际使用的时候通常会用到跨域,就是向不同的域发起请求,但是默认情况下此时cookie是不会发送给服务器的,此时就导致了丢失session_id,从而导致了session的值为undefined...解决方案如下: 首先,前端页面发起ajax请求时,加上参数: withCredentials: true, 像这样 $.ajax({ type: url:'http://localhost...true, success: error: }) 我使用的后台语言是node.js,在node.js中使用cors跨域 在app.js中加上(注意接口的顺序哦): app.all('

    2.5K20

    跨域ajax请求中的cookie传输问题

    它允许浏览器向跨源服务器发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。 对CORS协议不了解的同学,可以猛击这里。 今天我们来讨论其中的cookie传输问题。...如果请求时不需要带cookie,此字段可以写*,表明该站接收所有来源的ajax请求。如果需要传输cookie, 该字段只能写一个固定来源。...访问test.html,第二次时如愿在console里看到 {"name":"ball"} 这说明: b.com成功种下了cookie a.com成功在跨域ajax请求中带上了cookie 2....既然2.1中的结论是cookie种到了b.com下,那么在发ajax请求时去掉 xhrFields:{ withCredentials:true } test.php是否能成功在b.com下种cookie...总结 A站向B站发起跨域ajax时,只能携带B站下的cookie给B。 B站只有在A站允许的情况下,才能在跨域ajax中向自己的域下种cookie。

    2.4K20

    jquery jsonp 解决ajax无法跨域请求的问题

    说到ajax请求为了安全的问题,具有一个同源策略的情况。 说明使用ajax无法进行跨域请求。那么当真的需要进行跨域请求的时候,该怎么办呢? 此时就要使用jquery中的jsonp进行跨域请求了。...jsonp ajax只能请求同一个域下的数据或资源,有时候需要跨域请求数据,就需要用到jsonp技术,jsonp可以跨域请求数据,它的原理主要是利用了标签可以跨域链接资源的特性。...; }); test page 直接使用文件在浏览器打开,跨域请求,如下...要注意:jsonp是不支持post请求的。就算写post请求也是自动转为get请求。...在上面的示例中没有写到jsonp设置get请求参数的部分,具有参数的示例写法如下: $("#search").keyup(function(){

    4.9K30

    springcloud gateway代理get正常、post请求报错的问题

    在上一篇时,我们在使用gateway的反向代理功能时,发现了一个很严重的问题,那就是通过gateway去访问后端服务时,如果发起的是Get请求,就一切正常,如果是Post请求,就会报错。...Springboot2.0.5之前的版本,不存在该问题,之后的但凡是非Get请求,就会报该错误。...这个问题比较怪异,很早之前我们知道@RequestBody接收的参数,是不能被读取第二次的,假如被网关的日志读取消费过了,那么后续的服务就无法再接收到该参数了。...gateway反向代理的原理是,首先读取原请求的数据,然后构造一个新的请求,将原请求的数据封装到新的请求中,然后再转发出去。...该错误是Springboot的升级导致的,具体的详细解析在https://github.com/spring-cloud/spring-cloud-gateway/issues/541 最终作者也给了解决方案

    4.6K31

    ajax --- Ajax跨域请求保证同一个session的问题

    我们知道,根据浏览器的保护规则,跨域的时候我们创建的sessionId是不会被浏览器保存下来的,这样,当我们在进行跨域访问的时候,我们的sessionId就不会被保存下来,也就是说,每一次的请求,服务器就会以为是一个新的人...Access-Control-Allow-Origin", request.getHeader("Origin")); res.setHeader("Access-Control-Allow-Methods", "POST, GET...res.setHeader("XDomainRequestAllowed","1"); filterChain.doFilter(servletRequest,servletResponse); } 在ajax...请求是也要加相应的东西 $.ajax({ url:url, //加上这句话 xhrFields: { withCredentials: true },...就会发现我们的sessionId是一样的了,这样就实现了跨域并且保证在同一个session下。

    68010

    在GET、POST请求中,常见的几种传参格式

    一: 在GET请求中,常见的几种传参格式包括: 1:查询字符串(Query String): 在URL中使用?符号将参数附加到URL末尾,多个参数之间使用&符号分隔。...例如: GET /api/users?id=12345&name=John 2:RESTful风格的URL参数: 将参数直接作为URL的一部分,一般用于表示资源的唯一标识符或路径参数。...例如: GET /api/users/12345 3:参数数组: 使用相同的参数名,但允许多个值的情况。参数值使用[]表示。例如: GET /api/users?...filter[]=admin&filter[]=active 4:参数对象(JSON格式): 将参数封装在一个对象中,然后将该对象作为查询字符串的值传递。例如: GET /api/users?...二:在POST请求中,常见的几种传参格式 在POST请求中,常见的几种传参格式包括: 1:JSON 数据格式: 在请求的数据体中使用 JSON 格式来传递参数。

    24.1K105

    解决PHP使用CURL发送GET请求时传递参数的问题

    最近在使用curl发送get请求的时候发现传递参数一直没有生效,也没有返回值,以为是自己哪里写错了,网上找东西时也没有人专门来说get请求传递参数的内容,所以,今天在这里记录一下,希望可以帮到一些人 get...请求是最简单的请求,/ /不过要注意自己的请求是http请求还是https的请求,因为https请求时要关闭SSL验证,不然验证通不过,没有办法请求到数据; / /GET请求的参数 get传递参数和正常请求...url传递参数的方式一样 function get_info($card){ $url ="http://www.sdt.com/api/White/CardInfo?cardNo="....SSL验证 function get_bankcard_info($bank_card){ $url ="https://ccdcapi.alipay.com/validateAndCacheCardInfo.json...这篇解决PHP使用CURL发送GET请求时传递参数的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

    3.5K00

    jquery ajax请求成功,数据返回成功,seccess不执行的问题

    问题的来源是在输入key='a' 查询前十条数据时发现可以正常的展现数据,但是当我输入key值为z时,并且再查询前20条数据是发现数据不能展现,但是server返回了数据库中的数 据。...思考第一次和第二次碰到的问题,我初步认识到: 1. 返回的数据类型一定要符合定义的数据类型。...原因是ajax请求跨域了,解决方法是在两个文件里都添加一段 js: [/b]document.domain,或者采用Jsonp的方式,如我的前一篇blog中提到的。...还有一点对JQuery 中Ajax的一点其它的认识: 客户端发起请求,得到服务器端的相应是200,的数据>没有问题.此时在判断进入success 对应的回调函数还是进入到error对应的回调函数之前...请求的域和当前域是否是同一域,如果不是同一域也十分有可能进入error:function(){***} 原帖:http://www.myexception.cn/ajax/413061.html

    4.6K30
    领券