gpt4 book ai didi

javascript - 我怎样才能用纯javascript获取ajax请求的ContentType?

转载 作者:行者123 更新时间:2023-11-27 23:09:21 25 4
gpt4 key购买 nike

我有一个脚本,它向服务器发送 AJAX 请求,如果答案只是文本,它将把它放在 div 中,但如果它是 json,它应该以不同的方式处理它。

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.body.innerHTML = xhttp.responseText;
}
};
xhttp.open(method, "/controller.php?url=" + location, true);
xhttp.send(data);

现在我如何检查xhttp.responeText是否是json?

最佳答案

在 Javascript 中,您可以使用 getResponseHeader('content-type') 方法检查返回的 JSON 响应的内容类型

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
if(this.getResponseHeader('content-type') == 'application/json'){
//do something with the json
}
else{
document.body.innerHTML = xhttp.responseText;
}
}
};
xhttp.open(method, "/controller.php?url=" + location, true);
xhttp.send(data);

在 Jquery 中你可以尝试这样的事情

$.ajax({
type: "POST",
url: "www.yourURL.com",
data: "data which you want to sent to server",
success: function(response, status, xhr){
var ct = xhr.getResponseHeader("content-type") || "";
if (ct.indexOf('text') > -1) {
//do something
}
if (ct.indexOf('json') > -1) {
// handle json here
}
}
});

基本上它会检查响应 header 中是否存在字符串“html”或“json”

关于javascript - 我怎样才能用纯javascript获取ajax请求的ContentType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36304307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com