Asp.Net是否需要ActiveX来进行Ajax调用?我怀疑它确实是因为没有在IE选项中设置“初始化和脚本activeX控件未标记为安全”ASP.NET UpdatePanels不起作用。我是对的吗?
这里非常重要的编辑
我对IE6没有任何疑问。但我甚至可以在IE8(Windows 7)上重现这一点。尝试将IE安全级别设置为高。之后你必须设置:
能够使用Asp.NET UpdatePanel。后两个是好的,但第一个......我提醒你这是IE8
答案 0 :(得分:8)
您收到此错误是因为脚本访问XMLHttpRequest
对象(对于AJAX请求),这是在早期版本的IE中通过ActiveX实现的。
因为它甚至会检查它,所以你会得到这个警报。不,它不是ASP.Net所必需的,但如果它被禁用,你可能会在早期版本的IE中遇到部分回发问题。
答案 1 :(得分:2)
不,它没有。
答案 2 :(得分:2)
ActiveX和AJAX完全不相关。 ActiveX是一种允许通过Web传递完全信任的应用程序的机制。 AJAX代表Asynchronous Javascript和XHTML,它是一种更新网页区域而无需将整个内容发回服务器的方法。
答案 3 :(得分:1)
Ajax使用XMLHTTPRequest对象。
在IE 7 IE之前用于使用ActiveX实现此对象。
Firefox,Safari等将此作为本机对象实现。 Since IE7 XMLHTTPRequest对象作为本机脚本对象公开。
activeX问题是浏览器问题,而不是asp.net问题。所以答案是否定的。
答案 4 :(得分:0)
简单的答案是否定的,但事实并非如此。但是,浏览器不兼容可能意味着您需要Microsoft的XmlHttp ActiveX对象[例如,旧版本的IE在其JavaScript(JScript)实现中不支持它)。现代浏览器将XmlHttpRequest对象内置到JavaScript中,因此除了与旧版IE的兼容性之外不再需要ActiveX。
答案 5 :(得分:-1)
使用.NET页面类http://msdn.microsoft.com/en-us/library/ms178138.aspx 您可以使用JSON进行更标准化的AJAX调用。但是你需要为此学习AJAX。