当前位置: 首页 > 面试题库 >

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

邓声
2023-03-14
问题内容

我有以下代码,并且PUT在Chromium和Chrome中没有出现在服务器端…我想知道,如果浏览器不支持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标头中。在服务上,您检查后者,如果找不到,请使用常规HTTP方法。

有关更多信息,请参见此处。



 类似资料:
  • 本文向大家介绍是否有浏览器还支持HTML5的checkValidity()方法?,包括了是否有浏览器还支持HTML5的checkValidity()方法?的使用技巧和注意事项,需要的朋友参考一下 是的,在Google Chrome和Opera中也可以使用。这也很好- 示例

  • 本文向大家介绍JS判断浏览器是否支持某一个CSS3属性的方法,包括了JS判断浏览器是否支持某一个CSS3属性的方法的使用技巧和注意事项,需要的朋友参考一下 1、引子 css3的出现让浏览器的表现更加的丰富多彩,表现冲击最大的就是动画了,在日常书写动画的时候,很有必要去事先判断浏览器是否支持,尤其是在写CSS3动画库的时候。比如transition的animation-play-state,就只有部

  • 本文向大家介绍IE浏览器不支持getElementsByClassName的解决方法,包括了IE浏览器不支持getElementsByClassName的解决方法的使用技巧和注意事项,需要的朋友参考一下 在DOM3里已经加入了getElementsByClassName这个方法,然而IE9、10以外的其它版本均不支持,这是一块伤痛啊! 目前可以这么解决,判断浏览器支不支持这个方法,如果支持就不管;

  • 本文向大家介绍js判断浏览器是否支持html5,包括了js判断浏览器是否支持html5的使用技巧和注意事项,需要的朋友参考一下 现在HTML5似乎慢慢流行起来了,有些前端高手为了兼容考虑,会在网页中添加对客户端浏览器判断的代码,知道用户浏览器是否支持HTML5,下面分享想我自己使用的2种方法 方法一, 方法二, 方法三: 有更好的方法的话,请联系我!谢谢

  • Docusaurus 允许网站通过 浏览器列表配置(browserslist configuration) 来定义其要支持的所有浏览器。 目的 网站需要在向后兼容性和文件体积之间做平衡。由于旧的浏览器不支持现代的 API 或语法,因此需要更多代码才能实现相同的功能,这会增加网站的加载时间,从而对所有其他用户造成不利的影响。为权衡起见,Docusaurus 打包工具仅支持浏览器列表中所定义的浏览器版

  • 我正在编写一个Spring webservice客户机,它调用一个SOAP服务,它返回一个带有附件的SOAP响应(MTOM->XOP include tag in response)。 在我当前的客户机代码中,我使用了SaajSoapMessageFactory并在WebServiceTemplate中注入了相同的内容,我还在封送器中将MtomEnabled设置为true。 客户端的SaajSoa