在尝试编写而不是检索时正确使用onreadystatechange

时间:2013-09-05 20:18:26

标签: ajax onreadystatechange

当我使用Ajax在数据库中写入数据而不是检索数据时,如何在Ajax调用中使用“onreadystatechange”?

当我检索数据时,onreadystatechange会触发以某种方式使用数据的函数。当我写入DB时应该触发什么样的功能?

2 个答案:

答案 0 :(得分:1)

我可能不太了解你的问题,但我认为没有任何特别的理由以不同的方式使用onreadystatechange。无论您是发布数据还是检索数据,onreadystatechange都会告诉您服务器响应请求的阶段 - 当就绪状态变为4时,完整响应就绪。在发布数据的情况下,您对该响应的处理方式略有不同(可能在响应中有一些内容需要检查以确保写入成功),但这不应该改变{{ 1}}本身就有效。

答案 1 :(得分:1)

通常,当用户尝试提交操作时,让他们知道操作是成功还是失败是很有用的。

在同步的页面级情况下,您已经知道这一点,您只需在HTML响应中输出结果。

在异步,ajax情况下,您应该让服务器返回有关尝试写入成功或失败的消息。这可以是失败的简单声明,也可以包含详细的错误消息,或者说明接下来应该做什么。

onreadystatechange函数应该收到此响应并将其呈现给用户。

执行此操作的方法取决于邮件的格式。

在最简单的情况下,如果它是text / html字符串,您只需将XHR.responseText插入页面上的相应元素即可。

我在使用jquery时发现特别方便的另一个选项是返回JSON表示法,jquery将自动将其作为Javascript对象,然后您可以引用该对象来控制页面上的某些逻辑(例如,显示消息,如果是,则将其格式化为红色)错误,将多条消息汇集到日志中等。)