我是一个使用 ajax 的初学者,我一直认为它是完全异步的。但我发现调用可能会因页面重新加载或页面更改(如单击超链接)而中断。我的印象是,当启动 ajax 调用时,无论浏览器之后做什么,都会执行它。那是错的吗?
现在谈谈我遇到的具体问题:想想用户回答问题的在线测试(通过输入文本框)。当文本框失去焦点时,将触发一个 ajax 调用,将文本框的值保存到数据库中。在文本框之间切换时效果很好。但是,我还有一个提交按钮,它会触发对另一个页面的发布操作(它是提交按钮)。当我在文本框中输入内容并随后单击按钮时,不会执行呼叫。此外,当我在文本框中输入内容时,单击其他地方(也触发调用)并迅速单击提交按钮,调用也不会进行。这是预期的行为吗?
我首先使用 ajax 的原因是保留这些值,因此当发生不可预见的事情时,例如浏览器崩溃,已经输入的文本已经保存。
难道我的思维方式不对?你将如何解决这个问题?
感谢您的时间!