如何使用 javascript 或 jQuery 与 PUT 或 DELETE 请求同步导航以寻址?
How to NAVIGATE to address synchronously with PUT or DELETE request with javascript or jQuery?
如何发出请求
PUT /user/someuser1
并在浏览器中解析结果?
请注意,此答案中的 AJAX
解决方案 做了一些不同的事情:它将答案传递给闭包函数,而我需要同步解决方案,即将答案传递给整个浏览器 window.
喜欢下面的代码
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
。
不幸的是,我的服务 returns JSON
显示的方式与使用 location.href
获得的服务不同:在我的情况下,它显示为纯文本,而如果 location.href
它显示有缩进。
此外,我无法导航回初始页面 -- 它会更改地址栏中的地址,但不会显示引荐页面的内容...
HTML 不提供任何发出 PUT 请求的方式,仅提供 GET 和 POST.
唯一的方法是使用 JavaScript 和 XMLHttpRequest。然后你可以处理你得到的响应的唯一方法是用 JavaScript.
处理它
因此,最接近的是:
- 使用 XHR 发出请求
- 使用回调读取响应
- 使用 DOM
将当前文档的内容替换为响应的内容
- 使用 pushState
更新 URL
如何发出请求
PUT /user/someuser1
并在浏览器中解析结果?
请注意,此答案中的 AJAX
解决方案 做了一些不同的事情:它将答案传递给闭包函数,而我需要同步解决方案,即将答案传递给整个浏览器 window.
喜欢下面的代码
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
。
不幸的是,我的服务 returns JSON
显示的方式与使用 location.href
获得的服务不同:在我的情况下,它显示为纯文本,而如果 location.href
它显示有缩进。
此外,我无法导航回初始页面 -- 它会更改地址栏中的地址,但不会显示引荐页面的内容...
HTML 不提供任何发出 PUT 请求的方式,仅提供 GET 和 POST.
唯一的方法是使用 JavaScript 和 XMLHttpRequest。然后你可以处理你得到的响应的唯一方法是用 JavaScript.
处理它因此,最接近的是:
- 使用 XHR 发出请求
- 使用回调读取响应
- 使用 DOM 将当前文档的内容替换为响应的内容
- 使用 pushState 更新 URL