首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >4互联网模板& OpenAuth抛出JS错误

4互联网模板& OpenAuth抛出JS错误
EN

Stack Overflow用户
提问于 2013-02-08 00:40:06
回答 2查看 4.8K关注 0票数 1

我试图让标准的Visual 2012 MVC4网络模板和oAuth工作,但它不会!

以下是重新创建的简单步骤。

  1. 创建新的MVC4网络应用程序
  2. 在控制台执行: update-package
  3. 在AuthConfig.cs文件中,un-注释AuthConfig.cs ()(我的印象是Google oAuth不需要一个键,所以在AuthConfig.cs文件中不注释这一行将启用它)。
  4. 运行应用程序的F5

此时,我看到以下错误:

代码语言:javascript
复制
Error when entering login page:

Unhandled exception at line 115, column 5 in http://localhost:63180/Scripts/jquery.unobtrusive-ajax.js

0x800a01b6 - Microsoft JScript runtime error: Object doesn't support property or method 'live'
  1. 单击主页上的登录链接
  2. 单击

此时,我得到了一个错误:

代码语言:javascript
复制
ProtocolException was unhandled by user code
No OpenID endpoint found
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-08 00:53:59

错误产生的原因及解决方法

原因是jQuery-unobtrusionajax.js负责使用ASP.NET live在jQuery MVC中支持不引人注目的ajax。但该方法在jQuery 1.7中被废弃,并在1.9中被删除。

此方法允许与当前或将来的任何DOM元素关联的事件。目前取代live的方法是on方法。

但是,语法有一点不同,因为该方法在jQuery上有更多的用途。

代码语言:javascript
复制
$ ("form [data-ajax = true].") live ("submit", function (e) { ... }

用对live的调用修改对on的调用。

对于on来说,就像我们碰巧使用on 3参数一样:事件(像live,将“提交”)一个选择器(元素“子”)是基于选择器的,它必须始终存在处理程序函数(比如live)。

在本例中,我们的行如下所示:

代码语言:javascript
复制
$ ("body"). on ("submit", "form [data-ajax = true]", function (e) { ... }

我将选择器移到on的第二个参数,并使您成为一个基本的选择器"body“(并不是最优的,但我确信总是如此)。

其思想是,最后一个函数与form [data-ajax = true]类型的所有当前和未来元素相关联,这些元素位于选择器基(主体)中。

对于所有其他要生存的呼叫(还有3次),请按如下方式进行相同的替换:

代码语言:javascript
复制
$ ("body"). on ("click", "form [data-ajax = true]: submit", function (e) { ... }
$ ("body"). on ("click", "a [data-ajax = true]", function (e) { ... }
$ ("body"). on ("click", "form [data-ajax = true] input [type = image]", function (e) { ... }

准备好了!有了这个功能,我们已经恢复了ajax功能,MVC不引人注目,您的应用程序应该再次正常工作!

翻译自:http://geeks.ms/blogs/etomas/archive/2013/01/18/jquery-1-9-y-el-unobtrusive-ajax-de-asp-net-mvc.aspx

票数 4
EN

Stack Overflow用户

发布于 2013-02-08 01:00:24

NuGet中的非突出库尚未更新,也不适用于jQuery 1.9。

请参阅Unobtrusive Ajax stopped working after update jQuery to 1.9.0

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14763849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档