首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Ajax发送PUTDELETE请求出现错误的原因及解决方案

.而其他的,根据单词并不能准确的知道他们想表达的意思.本文要讲的并不是HTTP协议,主要是分析一下发送Ajax(异步请求)的时候,为什么使用GET和POST方式发送可以接收到数据,而使用DELETE和PUT...既然会出现这个令人头痛的问题,那么我们为什么还要用这种Rest风格的URI呢?...使用Ajax发送PUT(修改)请求 我们测试使用的是一个更新方法,利用主键更新员工的信息,使用特定的PUT请求....为什么出现这种情况呢? 实际上这是因为设计Tomcat的时候就出现的问题.Tomcat的源代码的Request.java类中,大约是3111行左右的代码,有这样的一段代码....Ajax请求的时候,使用如下的格式: $.ajax({ url: "${pageContext.request.contextPath}/emp/" + id, type: "POST"

2.1K10

记一次请求接口出现400响应码的诡异错误实录

前言最近业务碰到了一个诡异的400接口请求异常,部门用户通过浏览器访问会出现400响应码错误,部分用户又能正常访问。该接口用postman请求访问,都能正常返回数据。...请求行如果超过一个缓冲区的大小,就会向客户端返回414(请求URI太大)错误请求头字段也不能超过一个缓冲区的大小,否则会向客户端返回400错误请求错误。缓冲区仅按需分配。...看到这里我们似乎看到曙光,因此我们果断把该参数加上,并调高相应的配置值,本以为可以高枕无忧,结果配上去,那偌大的400错误,感觉就是嘲讽我们的天真。...,没有再出现400的情况问题原因梳理出现请求400的原因,确实是请求头过大的原因,但为什么通过postman或者后端请求就不会有问题,而通过浏览器访问就会有问题,原因就是我们处理跨域的时候,请求头加了一堆乱七八糟的东西...;其次为什么出现部分用户访问出现400,部分用户又不会,就是因为我们请求时,请求头会携带用户jwt token,该token的payload存放一堆跟用户相关的东西,比如权限id列表啥的,这样就导致有些用户的

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

记一次请求接口出现400响应码的诡异错误实录

1 前言 最近业务碰到了一个诡异的400接口请求异常,部门用户通过浏览器访问会出现400响应码错误,部分用户又能正常访问。该接口用postman请求访问,都能正常返回数据。...请求行如果超过一个缓冲区的大小,就会向客户端返回414(请求URI太大)错误请求头字段也不能超过一个缓冲区的大小,否则会向客户端返回400错误请求错误。缓冲区仅按需分配。...神奇的事发生了,没有再出现400的情况 4 问题原因梳理 出现请求400的原因,确实是请求头过大的原因,但为什么通过postman或者后端请求就不会有问题,而通过浏览器访问就会有问题,原因就是我们处理跨域的时候...; 其次为什么出现部分用户访问出现400,部分用户又不会,就是因为我们请求时,请求头会携带用户jwt token,该token的payload存放一堆跟用户相关的东西,比如权限id列表啥的,这样就导致有些用户的...token的长度是比较大 5 总结 此次400响应码错误的问题,除了技术层面上,还有一些是规范上的,比如请求头加了了一堆无用的参数,其次为了方便,token上搞了一堆业务数据,有些bug真的是无意识产生的

20010

Linux服务器nginx访问日志里出现大量http400错误请求分析「建议收藏」

400错误,每次有大概连续出现1-6个不等,而且也并不是每次客户访问都会产生400错误。...通过仔细观察发现,所有产生400错误的前一次访问的User-Agent都是Google Chrome浏览器留下的,也就是说400错误是由Chrome浏览器产生的。...抓包分析中发现,Chrome访问服务器时发起的连接不止一个,一般有5到6个不等,而如果请求的资源不需要那么多连接时,Chrome就会关闭未用的连接,这项技术叫做pre-connection“预先连接...一句评论 pre-connection的优点已经很清楚了,但是它也是有缺点的,如果站长做了优化,使用了Cookie-free技术,或者网页和静态资源 使用不同的服务器,那么网页需要的css、js资源就和主...像 LVS 之类什么的,也会引起这种问题,然后日志中会出现大量的 400 错误

2.4K30

Tomcat容器下Zuul网关加解密后的第一次请求出现400错误的问题

问题现象 某些前端发来的请求会在前端加密发送到网关,并在网关解密之后发到真正的微服务,并将结果加密返回给前端。 实现网关加密后,发现一次加密请求后,紧接着的非加密GET请求,就会出现400错误。...再发一次相同的GET请求,就会正常,观察后端微服务的收到网关请求的accessLog,发现接收到的请求解析有问题: ## 400请求 - - - [04/Jan/2018:19:48:30 +0800...] "-" 400 - 0 0.000 - "-" null null 10.120.242.152 ## 正常的请求 - - - [04/Jan/2018:19:50:18 +0800] "GET /...可能是这个原因,导致了下一个请求Tomcat丢失处理了。 Debug修改Content-Length为60,问题不再出现。...-1 : clB.getLong(); return contentLength; } 所以,我们解密完包之后,对于Tomcat需要修改ContentLength,修改方式就是添加如下代码到你解密使用

1.3K20

【经验】使用http访问一个链接提示400错误,但是浏览器访问没问题(server returned HTTP Response code :400 fro URL:),怎么解决

最近凯哥调凯哥优惠淘公众号(领取优惠券的公众号)的时候,发现以前好好的程序,突然不能用了。...于是就本地断点,发现了如下错误: 程序通过httpClient访问一个地址的时候,提示:server returned HTTP Response code :400 fro URL:XXXX这个错误...为什么程序中就访问不了呢? 于是就把访问的URL 复制下来,一个一个对比,发现,原来,程序访问出错的url中有中文。...总结: 如果程序访问一个url出现server returned HTTP Response code :400 fro URL这个错误,但是浏览器中访问同样的url没问题的话,就要考虑是不是因为访问的...把这些特殊字符进行url编码后使用程序进行访问或许就能成功了。需要注意,进行url编码的时候,指定编码的字符集

4.5K20

EasyGBS平台使用宇视sdk录像查询出现错误码导致录像查询失败,该如何解决?

现有用户反馈,其定制版EasyGBS使用多线程录像查询时,宇视sdk录像查询会出现错误码4128,导致录像查询失败。收到反馈后,技术人员立即进行了排查。...打开日志查询,发现在进行多录像查询时,第一个录像查询返回错误错误码是:4128;而第二个查询录像则直接返回成功。这说明只有一个录像查询成功。...随后从文档中查看“4128”错误码代表的意思,如下图:其含义为:进行多录像查询时,由于上一个录像查询没有完成,就进行下一个查询操作,这样会导致只有一个查询录像会有失败的情况。...找出问题原因后,参照以下操作即可解决:从文档中得出只有当一个录像查询完成才能进行下个录像查询,多录像查询的失败加上一把录像查询的锁即可,代码如下:除了提供API接口供用户调用、集成与二次开发,EasyGBS

1.1K20

【DB笔试面试400Oracle中,使用了如下的语句创建用户LHRLDD,则对于该用户而言,以下说法错误的是()

题目 Oracle中,使用了如下的语句创建用户LHRLDD,则对于该用户而言,以下说法错误的是() CREATE USER LHRLDD IDENTIFIED BY LHRLDD; A、该用户的口令为...LHRLDD B、LHRLDD的默认表空间为USERS C、LHRLDD的临时表空间为TEMP D、使用UPDATE命令可以修改LHRLDD的口令 A 答案 答案:D。...创建用户的时候若省略了默认表空间及临时表空间的话,则可以通过查询系统表SYS.PROPS$表来获取默认值,如下所示: SELECT * FROM PROPS$ D WHERE D.NAME IN ('...DEFAULT_TEMP_TABLESPACE', 'DEFAULT_PERMANENT_TABLESPACE'); 更改密码需要使用ALTER USER来更改,选项描述错误,所以,本题的答案为D。

1.3K20

Ajax请求SpringMVC Json数据报错Http 400(二)

Ajax请求SpringMVC Json数据报错Http 400(二) 作者:幽鸿   Apr 15, 2016 9:54:50 PM 二、前台看http 400 Bad Request...错误     我们最常见的http错误恐怕就是404 not found错误了,这回碰到的是400 bad request错误。...这个400错误又称语法请求错误。就是说我们的请求语法是不被服务器所正确解析的。那么问题来了,看官可能要说,这么简单的一个ajax请求为什么不被spring mvc解析呢?    ...请看我注释的这一行:contentType : 'application/json',如果注释掉这一行,这个请求就会success了,如果打开注释就会报如题的400错误。...浏览器中观察RequestHeaders,会发现jquery的 “.ajax”方法默认的Content-Type如下: Content-Type: application/x-www-form-urlencoded

2.1K40

Ajax请求SpringMVC Json数据报错Http 400(一)

Ajax请求SpringMVC Json数据报错Http 400(一) 作者:幽鸿   Apr 15, 2016 9:40:55 PM     最近在完善博客的过程中,发现了一些细节问题...后台使用的是SpringMvc,前台使用的是jquery请求。之前后台采用的是 @RequestMapping标签,直接返回视图。最近脑子发热,觉得返回通用格式json数据比较好。...于是逐步修改,修改过程中,踩了 一个坑,就是前台页面请求后台的时候,后台使用@RequsetBody和RequestParam进行转换请求对象,报了http 400 Bad Request错 误。...一下子觉得这篇文章想说的东西很多,什么是http 400错误为什么Spring MVC接受数据会报出400错误?@RequestBody和@RequestParam的底层又是怎们实现的呢?...原来当我们的ajax请求其他域名的时候,就是跨域的场景了。什么是跨域呢?简单来说,就是一个域名里的请求访问另外一个域名里的服务,就是跨域了。

2.1K30

Spring Boot 统一异常处理最佳实践 -- 拓展篇

上篇文章也有许多人提出了一些问题: 如何区分 Ajax 请求和普通页面请求, 以分别返回 JSON 错误信息和错误页面. 如何结合 HTTP 状态码进行统一异常处理....然后来看看他默认情况下对于 AJAX 请求和 HTML 请求, 分别的返回结果是怎样的: image.png 201901271611_648.png 对于返回错误页面, 其中还调用了一个非常重要的方法...他处理 /error 请求, 我们只需要将页面重定向到 /error 即可, ControllerAdvice 中是这样的: @ControllerAdvice public class WebExceptionHandler...我们遵循 SpringBoot 的规则, /error/ 下建立 400.html, 500.html 等页面细粒度的错误, 并配置一个 /error.html 用来处理细粒度未处理到的其他错误....HTTP 状态码, 所以 Ajax 请求出现错误后, 需要在每个 Ajax 请求方法中都写 error: function() {} 方法, 甚至麻烦.

3.2K30

同源策略与CORS跨域

这篇文章只算是我的个人学习笔记,内容没有经过精心排版,也没有认真校对格式,一些错误请见谅. 用 form , a,img,link,script.都可以跨域发送请求 但是!...AJAX 请求 为什么要有同源策略?...所以浏览器这个策略的本质是,一个域名的 JS ,未经允许的情况下,不得读取另一个域名的内容。但浏览器并不阻止你向另一个域名发送请求。...简单地说就是使用form发送请求,就会刷新页面,所以原页面没有了,就认为是安全的.但是Ajax可以吧响应内容读取了.并且显示本页面上.出现安全性问题 如果没有同源策略,那么任何网站都可以读取别人的支付宝余额等等...使用XMLHttpRequest发送请求 服务器返回json格式的字符串 js解析json,并更新局部页面 面试手写Ajax ? 就是这9行代码 一定要会!!!

1.2K20
领券