Ajax-仅在PATCH中不发送JSON

Ajax-仅在PATCH中不发送JSON,第1张

Ajax-仅在PATCH中不发送JSON

首先,检查您是否使用了最新版本的jQuery库:

  • 旧版本直接限制未知方法(PATCH是新方法)。
  • 我已经在jQuery 1.7上进行过测试-PATCH方法可以正常工作。

其次,并非所有浏览器都支持使用XMLHttpRequest的PATCH方法

  • 像IE 7,8(可以正常工作9+)具有XMLHttpRequest,但它会在PATCH上引发错误:

    new XMLHttpRequest().open('PATCH', '/'); //Illegal argument
  • 要解决此问题,您可以强制jQuery使用旧的专有ActiveXObject xhr,如下所示:

    $.ajax({url : 'http://127.0.0.1:8001/api/v1/pulse/7/',data: data,type : 'PATCH',contentType : 'application/json',xhr: function() {    return window.XMLHttpRequest == null || new window.XMLHttpRequest().addEventListener == null         ? new window.ActiveXObject("Microsoft.XMLHTTP")        : $.ajaxSettings.xhr();}

    });



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5477377.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存