javascript - 如何使用 javascript 或 jQuery 与 PUT 或 DELETE 请求同步导航到地址?

标签 javascript jquery ajax put http-delete

如何发出请求

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 进行处理。

因此,您最接近的是:

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

关于javascript - 如何使用 javascript 或 jQuery 与 PUT 或 DELETE 请求同步导航到地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34471762/

相关文章:

javascript - 如何使用ajax将文本框值发送到服务器?

php - 使用 Ajax 调用函数?

javascript - 可以设置聚焦的 Google map 标记的样式吗?

javascript - 使用 base64 更改 src 后刷新图像元素

javascript - Jquery 如果实时预览中的空循环

javascript - 在javascript中获取DIV的宽度和高度

javascript - 如何更新自定义组件上的 onClick 引用?

javascript - 查找 Mongodb 字段中出现次数最多的单词

javascript - 编辑、保存、添加功能到动态表

javascript - 如何使用 Ajax 提交表单并获取一些文本作为返回