Javascript 使用fetch获取消息正文

Javascript 使用fetch获取消息正文,javascript,Javascript,在jquery中,我可以这样做: $.ajax({ url: "my_sharepoint_site", type: "post", headers: { "accept": "application/json;odata=verbose", "contentType": "text/xml" }, success: function(data){ var m = data.d.GetContextW

在jquery中,我可以这样做:

    $.ajax({
    url: "my_sharepoint_site",
    type: "post",
    headers: {
        "accept": "application/json;odata=verbose",
        "contentType": "text/xml"
    },
    success: function(data){
        var m = data.d.GetContextWebInformation.FormDigestValue;

    }
});
我试图通过使用fetch获得相同的响应数据

fetch("my_sharepoint_site", {
    method: "post",
    headers: {
        "accept": "application/json;odata=verbose",
        "contentType": "text/xml"
    }
}).then(function(response){

    // response doesn't contain 'd'

});

我似乎不知道如何获取其余的数据。我相信这是非常简单的。

您需要探索
.json()
方法:

fetch("my_sharepoint_site", {
    method: "post",
    headers: {
        "accept": "application/json;odata=verbose",
        "contentType": "text/xml"
    }
})
.then(response => response.json())
.then(data => console.log(data));

您需要探索
.json()
方法:

fetch("my_sharepoint_site", {
    method: "post",
    headers: {
        "accept": "application/json;odata=verbose",
        "contentType": "text/xml"
    }
})
.then(response => response.json())
.then(data => console.log(data));

fetch
不会自动解析JSON响应。你必须明确地这样做


fetch
不会自动解析JSON响应。你必须明确地这样做


您声称要发布的XML在哪里?请使用浏览器中的调试工具。控制台上是否显示任何错误消息?请求是否相同?contentType头可能会被删除,因为我实际上没有发送任何内容。这是我打sharepoint REST电话的另一个例子的一部分。两者都执行良好,没有错误,并从服务器接收相同的响应。但是,获取不像ajax调用那样在响应中包含消息体。您声称要发布的XML在哪里?请使用浏览器中的调试工具。控制台上是否显示任何错误消息?请求是否相同?contentType头可能会被删除,因为我实际上没有发送任何内容。这是我打sharepoint REST电话的另一个例子的一部分。两者都执行良好,没有错误,并从服务器接收相同的响应。但是,fetch不像ajax调用那样在响应中包含消息体。谢谢我查了一下,但显然是用错了。是的,就是这样。谢谢我查了一下,但显然是用错了。