使用ajax帖子,获取,放置,删除等Vs html帖子只获得春天的利弊

Ism*_*ush 7 rest design-patterns spring-mvc http-method java-ee

我加入了一个使用spring框架的项目,所有的调用都是由ajax请求完成的,成功后的重定向是在视图中定义的,并通过隐藏的输入传递给ajax JS函数(所以在每个函数的末尾都返回ModelAndView)在控制器中没有任何影响).我觉得它弄糟了代码我不对吗?我仍然认为这样做是因为他们希望获得使用CRUD映射到post,get,put,delete的restful app的好处,但最终他们失去了从控制器本身重定向的能力.

  • 我想知道是否有其他模式可以容纳所有这些.
  • 我还想知道以前使用GET和POST的方式的优点和缺点,它很容易允许从控制器重定向.

Abh*_*bhi 6

那么我通常使用和推荐的模式如下:

  • 用户加载页面 - 调用Controller GET并加载视图
  • 在页面加载 - AJAX脚本调用控制器的POST以从后端获取数据(用户看到加载器)
  • 从POST请求成功后,将呈现数据.
  • 返回错误 - 从后端向用户显示任何问题的消息(提供对重定向的更多控制)

这种方法的优点:

  1. 提高了错误处理的灵活性
  2. 用户无需等待页面加载数据密集型页面
  3. 可以用作混合方法,您可以使用完全Web 2.0感觉或使用更传统的方法进行某些操作.