0

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

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

4

2 回答 2

1

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

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

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

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

执行此操作的方法取决于消息的格式。

在最简单的情况下,如果它是 text/html 字符串,您可以简单地将 XHR.responseText 插入页面上的适当元素中。

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

于 2013-09-17T18:14:44.590 回答
1

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

于 2013-09-12T04:46:27.770 回答