ajax请求,HTTP ERROR 400

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/u010882234/article/details/88055885

HTTP ERROR 400

现象

我们项目部署到测试服务器运行一段时间了,突然有个请求返回HTTP 400错误。之前是没有问题的,我在本地调试了下,发现没有这个错误。把出错的url复制后,访问本地启动的项目,也没有问题。这个接口是ajax请求,或者说在url里传递参数,返回报错HTTP ERROR 400。

可能原因

  1. 有人改动代码,导致bug。
  2. js里传递的参数名与后端代码方法里的参数名不一致,或者类型不一致。
  3. get请求,参数过长。
  4. 特殊字符,防火墙拦截。

解决

  1. 检查后发现此部分代码没人改动,参数也是对的
  2. 参数去除一部分后仍然不可以,不是长度的原因
  3. 排除后发现是"{}"的原因,本地没问题,但是在测试服务器上,做了限制,无法在get请求传递{}字符。换成了其他参数传递后解决。

总结

  1. 最可能原因是参数名称或类型不匹配
  2. 可以对参数做处理,再传递。 JSON.stringify(node).replace(/\"/g, "'");
  3. 避免在get请求里传递很多参数,避免特殊字符

猜你喜欢

转载自blog.csdn.net/u010882234/article/details/88055885