如何发出请求
PUT /user/someuser1
并在浏览器中解析结果?
请注意此答案中的 AJAX
解决方案 https://stackoverflow.com/a/2153931/258483做了一些不同的事情:它将答案传递给闭包函数,而我需要同步解决方案,即将答案传递给整个浏览器窗口。
就像下面的代码
location.href = '/user/someuser1';
使用 GET
请求。
更新
我做了以下方法:
<script type="text/javascript">
function execute2() {
url = '/user/' +$('#screenname2').val();
$.ajax({
url: url,
method: 'GET', // PUT
converters: {"text json": window.String}
}).done(
function(http) {
document.open();
document.write(http);
document.close();
window.history.pushState(null, "New User", url);
}
);
}
</script>
<p>PUT /user/<input type="text" value="someuser1" id="screenname2"> <input type="button" value="Go" onclick="execute2()"></p>
使用 GET
进行测试。
不幸的是,我的服务返回 JSON
并且它的显示方式与我使用 location.href
获取的方式不同:在我的情况下,它显示为纯文本,而如果 >location.href
它显示时带有缩进。
此外,我无法导航回初始页面 - 它更改了地址栏中的地址,但不显示引用页面的内容...
最佳答案
HTML 不提供任何发出 PUT 请求的方法,仅提供 GET 和 POST。
唯一的制作方法是使用 JavaScript 和 XMLHttpRequest。那么处理收到的响应的唯一方法就是使用 JavaScript 进行处理。
因此,您最接近的是:
- 使用 XHR 发出请求
- 使用回调读取响应
- 使用 DOM 将当前文档的内容替换为响应的内容
- 使用 pushState 更新网址
关于javascript - 如何使用 javascript 或 jQuery 与 PUT 或 DELETE 请求同步导航到地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34471762/