Javascript 如何以带有JSON正文的POST形式发送数据,并导航到响应?
我希望使用POST方法发送数据,让主体是JSON对象而不是一组键值对,成功后导航到响应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发送数据并导航到响应,我会使用表单。如果我只想用POST发送JSON,我可以使用AJAX。但是有什么方法可以同时满足这两个标准吗?不太可能。最接近您的选项是使用Ajax,然后:
- 使用
更改URL并用响应替换整个DOMhistory.pushState
- 让服务器将结果存储在某个位置,然后在响应中返回一个URL,然后JavaScript可以将该URL分配给
。URL将具有一个令牌,浏览器可以使用该令牌获取存储的响应location.href
- 使用
更改URL并用响应替换整个DOMhistory.pushState
- 让服务器将结果存储在某个位置,然后在响应中返回一个URL,然后JavaScript可以将该URL分配给
。URL将具有一个令牌,浏览器可以使用该令牌获取存储的响应location.href
- 不太可能。最接近您的选项是使用Ajax,然后:
- 我认为没有任何方法可以真正做到你所描述的
如果您正在发布到同一来源的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这样至少有一半现代化的东西。