gpt4 book ai didi

javascript - 处理 Ajax 请求的响应

转载 作者:行者123 更新时间:2023-12-02 20:31:25 27 4
gpt4 key购买 nike

我正在开发一个项目,我必须向其他人负责的一些基于java的中间件发送ajax请求。根据我回传的数据,可能会发生 4 件事...

  1. 用户 ID 正确,因此我收到的响应包括:

    XMLHttpRequest.responseText = "someurl.html"
    XMLHttpRequest.status = 200

  2. 用户 ID 正确,但此人与特定状态不匹配:

    XMLHttpRequest.responseText = "wrongstatusurl.html"
    XMLHttpRequest.status = 200

  3. 用户 ID 正确,但验证码错误,因此我收到的响应包括:

    XMLHttpRequest.responseText = "错误。验证码错误。"
    XMLHttpRequest.status = 200

  4. 用户 ID 不正确:

    XMLHttpRequest.responseText = "错误。不是用户。"
    XMLHttpRequest.status = 200

如您所见,每个响应都是 200 OK。这意味着每个 ajax 请求都会命中我的“成功”回调(我在这方面使用 jQuery,它有一个内置的 success 回调作为其 ajax 方法的一部分),所以我需要基于我的回调处理根据我收到的实际文本。正确的?

要么是这样,要么我需要让中间件人员发回更符合请求实际状态的状态代码......这听起来对吗?

<小时/>

我的问题:

继续这里的最佳方法是什么?只需处理返回的纯文本(关于如何最好地做到这一点的建议将是最感激的...只需解析文本?似乎有点不灵活...如果有一天文本发生变化怎么办?)或者得到其他类型的回复(建议告诉他我最需要什么...只是说,我需要某种指定状态代码的 header ...也许?)。你会如何处理这个问题?

最佳答案

我认为最好的方法是解析responseText并希望它们永远不会改变。

如果您负责返回的实际页面/数据,您将拥有更大的灵 active 。我通常编写该端(您无法控制的端)的方式是始终返回某种 XML/JSON。这样,如果状态为 200,您将获得一些数据(无论处理中是否出现错误、未找到页面或其他情况)。在该数据中,我通常会抛出一个标签(true 或 false)和一个包含任何错误消息数据的标签。如果没有错误,我会随后返回其余数据。

然后,我将使用responseXML并迭代节点,检查我的状态/错误节点并提醒用户错误(只需显示将是消息的错误节点文本)。如果成功,我将根据我的需要继续处理剩余的节点。现在,有了 JSON 和 jQuery 在 ajax 方法中对它的支持,事情会变得容易一些。

关于javascript - 处理 Ajax 请求的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4057246/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com