【问题标题】:How do I handle an ajax request if the endpoint is either json or a new html page?如果端点是 json 或新的 html 页面,如何处理 ajax 请求?
【发布时间】:2015-07-20 00:39:40
【问题描述】:

我有一个端点,该端点将返回 JSON 响应或重定向到不同的 html 页面,具体取决于传递给它的参数。仅在某些情况下返回 JSON,因此有些情况会导致新的 html 页面。我想知道是否有一种方法可以通过 ajax 请求获取端点的内容,然后修改现有页面(如果它是 JSON 响应,或者如果它是 html 页面)以使其看起来好像页面重定向到那个页面而不调用端点两次。

【问题讨论】:

    标签: javascript html ajax json redirect


    【解决方案1】:

    是的,您只需调用端点并查看响应。如果它是一个重定向,它可能会返回一个 302 响应代码并包含重定向 URL。然后,您可以将 window.location 设置为该 URL,页面将重定向到那里。如果您得到正常的 200 响应并且数据类型是 JSON,那么您只需处理 JSON。

    如果您只是为每种类型的端点调用记录响应代码、标头和响应本身,您应该能够清楚地分辨出差异,以便您的代码可以相应地分支。

    例如,重定向响应可能如下所示:

    HTTP/1.1 302 Found
    Location: http://www.iana.org/domains/example/
    

    【讨论】:

      【解决方案2】:

      勾选这个(处理跨域Ajax调用的两种方法)

      http://devproconnections.com/aspnet/two-methods-handling-cross-domain-ajax-calls

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-04
        • 1970-01-01
        • 1970-01-01
        • 2012-05-02
        • 1970-01-01
        • 2016-11-10
        相关资源
        最近更新 更多