如何使用 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.

处理它

因此,最接近的是:

  1. 使用 XHR 发出请求
  2. 使用回调读取响应
  3. 使用 DOM
  4. 将当前文档的内容替换为响应的内容
  5. 使用 pushState
  6. 更新 URL