JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 不使用原生XMLHttpRequest的原因 – 为什么$.ajax是强制性的?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在写一个应用程序:

>绝对依赖于通过Javascript向服务器发送数据
>不得在代码中包含JQuery库.

(我不知道我的代码是否会包含在已经有jquery lib的网页中,我不知道是否会有正确的版本,我不知道是否会有JQuery冲突等等……)

我必须继续本机JS功能XMLhttprequest(旧IE的ActiveX)方法,这很简单,但我看到警告:

什么是“棘手”的?我怎么可能做错了?我所知道的

var xmlhttp;
if (window.XMLhttprequest)
  {// code for IE7+,Firefox,Chrome,Opera,Safari
  xmlhttp = new XMLhttprequest();
  }
else
  {// code for IE6,IE5
  xmlhttp = new ActiveXObject("Microsoft.XMLhttp");
  }

只是不同浏览器的额外代码,我的xmlhttp var应该从现在开始准备在IE5,IE6,IE7,Safari中完成工作.

是否应该进行跨浏览器代码调整,或者在使用本机XMLhttprequest对象时还有什么我应该注意的吗?

解决方法

除非你需要支持真正的旧IE(显然使用不同的ActiveXObject),否则这是跨浏览器支持所必需的.

但是,使用例如jQuery提供了许多额外的优点:

>单一函数调用,没有不必要的变量使您的范围变得混乱.
>将对象自动序列化为GET / POST参数.为什么手动(需要正确编码值!),只需传递一个对象?
>自动解析响应,例如在JSON的情况下,您获得一个对象,而不仅仅是您需要手动解析的字符串.
>常见事件的好回调(成功/失败/完成)
>可插拔架构,以支持例如IE中的CORS XDomainrequest.

因为你提到你不能使用jQuery,因为你的应用程序将嵌入到可能与之冲突的另一个站点中:你可以通过包含jQuery然后使用$.noConflict(true)来恢复旧的$和jQuery变量来避免这种情况.要在代码中使用它,然后像这样写:

(function($) {

})(jQuery.noConflict(true));

大佬总结

以上是大佬教程为你收集整理的javascript – 不使用原生XMLHttpRequest的原因 – 为什么$.ajax是强制性的?全部内容,希望文章能够帮你解决javascript – 不使用原生XMLHttpRequest的原因 – 为什么$.ajax是强制性的?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。