首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当从不同的JSP调用同一方法得到200响应时,400错误的请求

问当从不同的JSP调用同一方法得到200响应时,400错误的请求
EN

Stack Overflow用户
提问于 2013-12-19 21:18:52
回答 2查看 838关注 0票数 1

对回答有点迷惑。我从不同的JSP页面通过ajax调用调用相同的方法,但得到了不同的HTTP response。一个给200,而另一个给400。为什么会这样呢?

to JSP页面之间唯一的区别是level/depth

示例

代码语言:javascript
复制
  main.jsp is at level localhost/appname/main.htm
  other.jsp is at level localhost/appname/myworld/other.htm

用于发布Ajax调用的URL对于两者都是相同的

代码语言:javascript
复制
    function getResponse(value) {
        $.ajax({
            url: '${pageContext. request. contextPath}/posthere/callme.htm',
            data: {
                valueId: value,
            },
            type: "POST",
            success: function (data) {
                if(data == true) {
                    console.log("Success: ");
                } else {
                    console.log("Failed: ");
                }
            }
        });
    }

控制器

代码语言:javascript
复制
@Controller
@RequestMapping(value = "/posthere")
@SessionAttributes({"userSession"})
public class MyController {

   @RequestMapping(value = "/callme", method = RequestMethod.POST)
   public @ResponseBody
   boolean getcalled(@RequestParam("valueId") String valueId,
                               @ModelAttribute("userSession") UserSession userSession,
                               HttpServletResponse httpServletResponse) throws IOException {
      if(userSession != null) {
          //do your magic. Note: This logic is not getting invoked. I have a breakpoint here.
          return true;
      }
      return false; 
   }
}
EN

回答 2

Stack Overflow用户

发布于 2013-12-19 21:23:55

检查内容类型。当内容类型是X,并且我发送的内容不等同于X时,我遇到了这个问题。

票数 2
EN

Stack Overflow用户

发布于 2013-12-19 21:41:02

检查在这两种情况下作为valueId传递的内容。

如果它不能被解释为String (这是不可能的)或者不存在,那么您将得到400 Bad request。

您的情况可能是第二种情况:当idValue为undefined时,它的将根本不会被发送,因此控制器接收不完整的数据-因此是400 Bad request。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20682837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档