Javascript 如何以带有JSON正文的POST形式发送数据,并导航到响应?

Javascript 如何以带有JSON正文的POST形式发送数据,并导航到响应?,javascript,html,http,Javascript,Html,Http,我希望使用POST方法发送数据,让主体是JSON对象而不是一组键值对,成功后导航到响应 如果我只想通过POST发送数据并导航到响应,我会使用表单。如果我只想用POST发送JSON,我可以使用AJAX。但是有什么方法可以同时满足这两个标准吗?不太可能。最接近您的选项是使用Ajax,然后: 使用history.pushState更改URL并用响应替换整个DOM 让服务器将结果存储在某个位置,然后在响应中返回一个URL,然后JavaScript可以将该URL分配给location.href。URL将

我希望使用POST方法发送数据,让主体是JSON对象而不是一组键值对,成功后导航到响应


如果我只想通过POST发送数据并导航到响应,我会使用表单。如果我只想用POST发送JSON,我可以使用AJAX。但是有什么方法可以同时满足这两个标准吗?

不太可能。最接近您的选项是使用Ajax,然后:

  • 使用
    history.pushState
    更改URL并用响应替换整个DOM

  • 让服务器将结果存储在某个位置,然后在响应中返回一个URL,然后JavaScript可以将该URL分配给
    location.href
    。URL将具有一个令牌,浏览器可以使用该令牌获取存储的响应


    • 不太可能。最接近您的选项是使用Ajax,然后:

      • 使用
        history.pushState
        更改URL并用响应替换整个DOM

      • 让服务器将结果存储在某个位置,然后在响应中返回一个URL,然后JavaScript可以将该URL分配给
        location.href
        。URL将具有一个令牌,浏览器可以使用该令牌获取存储的响应


        • 我认为没有任何方法可以真正做到你所描述的

          如果您正在发布到同一来源的URL(或启用了CORS),则可以通过
          XMLHttpRequest
          执行发布,使用
          history.pushState
          将浏览器的URL更改为目标,并使用来自发布的响应更新页面的DOM


          但是真正做到您描述的事情的唯一方法是使用表单,而表单目前无法发送JSON。

          我认为没有任何方法真正做到您描述的事情

          如果您正在发布到同一来源的URL(或启用了CORS),则可以通过
          XMLHttpRequest
          执行发布,使用
          history.pushState
          将浏览器的URL更改为目标,并使用来自发布的响应更新页面的DOM


          但是真正做到您所描述的事情的唯一方法是使用表单,表单当前无法发送JSON。

          导航到响应,这意味着浏览器中的内容将被返回的JSON替换?您可以使用jQuery,通过
          $.ajax
          将JSON发布到服务器,成功后可以设置window.location=“某处”加载响应。导航到响应,这意味着浏览器中的内容将被返回的JSON替换?您可以使用jQuery,通过
          $.ajax
          将JSON发布到服务器,成功后可以设置window.location=“某处”加载响应。在这种情况下,IE9将失败,不支持历史。pushState。@AhmetCanGüven:True。它也是一个过时的浏览器,并且是一个升级路径,没有操作系统升级到至少一半的现代版本,比如IE11.IE9。在这种情况下,IE9将失败,不支持历史。pushState。@AhmetCanGüven:True。它也是一款过时的浏览器,是一种升级途径,没有操作系统升级到像IE11这样至少有一半现代化的东西。