gpt4 book ai didi

jquery - 查看客户端浏览器是否支持 PUT/DELETE 方法的编程方式

转载 作者:行者123 更新时间:2023-11-30 06:37:48 26 4
gpt4 key购买 nike

有没有办法查看客户端浏览器是否支持用于 JQuery 和 AJAX 请求的 PUT 或 SEARCH 方法?

我有以下代码,在 Chromium 和 Chrome 中,PUT 没有出现在服务器端……我想知道,如果浏览器不支持 PUT , 如何将其更改为 POST 请求...以实现向后兼容性

function do_data(url, action, query) {
try {
if ($.browser.msie) {
var xdr = new XDomainRequest();
if (query !== null) {
console.log(query);
xdr.open(action, url + '?' + $.param(query));
} else {
xdr.open(action, url);
}
xdr.onload = function() {
var data = $.parseJSON(this.responseText);
show_data(data);
};
xdr.send();
} else {
if (query !== null) {
$.ajax({
url: url,
data: query,
type: action,
success: function(data) {
console.log(data);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus);
}
});
} else {
console.log(query);
$.ajax({
url: url,
type: action,
success: function(msg) {
console.log(data);
}
});
}
}
} catch (e) {}
}

使用上面的代码,如果我在 Chromium/Chrome 上使用“PUT”,error: function(jqXHR, textStatus, errorThrown) 将简单地打印出 error

在服务器端,我看到了 REQUEST_METHOD: OPTIONS 而不是 PUT。

只是为了确认,对于遇到此问题的任何人...没有编程方式

最佳答案

在大多数浏览器中处理缺少 PUT 和 DELETE 支持的常见方法是使用 HTTP POST 隧道。基本上,您使用 POST 并将真正的 VERB 添加到 X-HTTP-Method-Override HTTP header 。在您检查后者的服务上,如果没有找到,请使用普通的 HTTP 方法。

参见 here了解更多信息。

关于jquery - 查看客户端浏览器是否支持 PUT/DELETE 方法的编程方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13448542/

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