在Ajax请求后更新控件的最佳方法?

时间:2010-05-25 03:58:56

标签: javascript jquery ajax

我有一个网页会触发一个Ajax请求,该请求会将一些数据存储到数据库中,我想更新网页,以便用户可以看到他们的更改已经提交。

至少有3种方法可以实现这一目标:

  • 立即使用普通JavaScript更新网页,方法是抓取用户输入文本的内容并立即将其插入所属的文本。
  • 让ajax调用返回存储的文本作为响应,获取响应,然后使用JavaScript将该文本插入页面所在的位置
  • 让ajax调用返回一个标志(例如,对于成功的db write,则为true,否则为false),如果该标志为true,则使用JavaScript从输入控件中获取用户的内容,并将其插入到其他位置的位置。页
  • 或其他未提及的方法......?

我不是说这是主观的,我只是不知道哪种方法最适合。我的直觉告诉我去​​第三项(返回一个标志,然后更新字段)。这是最好的方式吗?

由于

2 个答案:

答案 0 :(得分:1)

我会选择第二种或第三种方式。两者之间没有显着差异。

我的理由......

在您知道请求是否成功之前,第一个更新字段。从UI的角度来看,这是响应性的,但如果请求失败则不正确。

第二种或第三种方式为您提供请求是否成功(如果不是则允许您显示错误),并允许更新UI而不需要单独请求。如果从请求返回的值很大并因此占用不必要的带宽,第三种方式可能会好一些。

答案 1 :(得分:0)

我这样做有两种方式:如果页面由ajax填充开始,那么我会重新调用该函数以在成功时重新获取该数据。

否则,如果成功,我会将数据附加到需要的位置。这样,您就不会来回传播数据。