0x800a1391 - JavaScript运行时错误:'jQuery'undefined"

本文关键字:jQuery undefined quot JavaScript 0x800a1391 运行时错误 | 更新日期: 2023-09-27 18:17:22

请听我讲一下背景故事,因为它可能与问题有关:

所以我想学习ASP。. NET MVC 5和我学习最好的开始什么都没有,慢慢建立。我所能找到的最好的教程是MVC 3 ASP。. NET教程设置记录存储。因此,我剥离了基本MVC 5的所有内容,以使页面返回给我,然后开始遵循教程。在获得第7部分的会员资格和授权之前,我只克服了几个小问题。在添加了所列的控制器、模型和视图,并遵循使用ASP. js的必要步骤之后。. NET Web应用程序管理页面,我开始收到上述错误消息,每次我试图去登录页面。我已经把我能想到的所有东西都翻了一遍,想找出可能遗漏的参考资料,但还是找不到。我甚至检查了所有我能在原始教程文件中找到的参考文献,并将其复制到我所拥有的文件中,但这并没有帮助。我终于在Visual Studio 2010中打开了原版,它给出了同样的错误,所以我不知道问题可能在哪里。

Scripts文件夹中包含以下项目:

  • _references.js
  • bootstrap.js
  • bootstrap.min.js
  • jquery.validate.js
  • jquery.validate.min.js
  • jquery.validate.unobtrusive.js
  • jquery.validate.unobtrusive.min.js
  • jquery.validate.vsdoc.js
  • jquery-2.1.1.intellisense.js
  • jquery-2.1.1.js
  • jquery-2.1.1.min.js
  • jquery-2.1.1.min.map
  • modernizr-2.6.2.js
  • respond.js
  • respond.min.js

我的BundleConfig.cs文件有以下内容:

using System.Web;
using System.Web.Optimization;
namespace MVCTest
{
    public class BundleConfig
    {
        // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                        "~/Scripts/jquery-{version}.js"));
            bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                        "~/Scripts/jquery.validate*"));
            // Use the development version of Modernizr to develop with and learn     from. Then, when you're
            // ready for production, use the build tool at http://modernizr.com to     pick only the tests you need.
            bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                        "~/Scripts/modernizr-*"));
            bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                      "~/Scripts/bootstrap.js",
                      "~/Scripts/respond.js"));
            bundles.Add(new StyleBundle("~/Content/css").Include(
                      "~/Content/bootstrap.css",
                      "~/Content/site.css"));
            // Set EnableOptimizations to false for debugging. For more information,
            // visit http://go.microsoft.com/fwlink/?LinkId=301862
            BundleTable.EnableOptimizations = true;
        }
    }
}

Global.asax.cs文件包含以下内容:

using System.Web.Mvc;
using System.Web.Routing;
using System.Web.Optimization;
namespace MVCTest
{
    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            System.Data.Entity.Database.SetInitializer(new MVCTest.Models.SampleData());
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
    }
}

包。配置文件包含以下内容:

<?xml version="1.0" encoding="utf-8"?>
<packages xmlns="urn:packages">
  <package id="jQuery" version="2.1.1" targetFramework="net45" xmlns="" />
  <package id="Antlr" version="3.4.1.9004" targetFramework="net451" />
  <package id="bootstrap" version="3.0.0" targetFramework="net451" />
  <package id="EntityFramework" version="6.1.0" targetFramework="net451" />
  <package id="jQuery.Validation" version="1.11.1" targetFramework="net451" />
  <package id="Microsoft.AspNet.Identity.Core" version="2.0.0" targetFramework="net451" />
  <package id="Microsoft.AspNet.Identity.EntityFramework" version="2.0.0" targetFramework="net451" />
  <package id="Microsoft.AspNet.Identity.Owin" version="2.0.0" targetFramework="net451" />
  <package id="Microsoft.AspNet.Mvc" version="5.1.2" targetFramework="net451" />
  <package id="Microsoft.AspNet.Razor" version="3.1.2" targetFramework="net451" />
  <package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net451" />
  <package id="Microsoft.AspNet.WebPages" version="3.1.2" targetFramework="net451" />
  <package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.1.2" targetFramework="net451" />
  <package id="Microsoft.Owin" version="2.1.0" targetFramework="net451" />
  <package id="Microsoft.Owin.Host.SystemWeb" version="2.1.0" targetFramework="net451" />
  <package id="Microsoft.Owin.Security" version="2.1.0" targetFramework="net451" />
  <package id="Microsoft.Owin.Security.Cookies" version="2.1.0" targetFramework="net451" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net451" />
  <package id="Modernizr" version="2.6.2" targetFramework="net451" />
  <package id="Newtonsoft.Json" version="5.0.6" targetFramework="net451" />
  <package id="Owin" version="1.0" targetFramework="net451" />
  <package id="Respond" version="1.2.0" targetFramework="net451" />
  <package id="WebGrease" version="1.5.2" targetFramework="net451" />
</packages>

登录。CSHTML包含以下内容:

@using MVCTest.Models
@model MVCTest.Models.LogOnModel
@{
    ViewBag.Title = "Log On";
}
<h2>Log On</h2>
<p>
    Please enter your user name and password. @Html.ActionLink("Register", "Register") if you don't have an account.
</p>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.")
@using (Html.BeginForm()) {
    <div>
        <fieldset>
            <legend>Account Information</legend>
            <div class="editor-label">
                @Html.LabelFor(m => m.UserName)
            </div>
            <div class="editor-field">
                @Html.TextBoxFor(m => m.UserName)
                @Html.ValidationMessageFor(m => m.UserName)
            </div>
            <div class="editor-label">
                @Html.LabelFor(m => m.Password)
            </div>
            <div class="editor-field">
                @Html.PasswordFor(m => m.Password)
                @Html.ValidationMessageFor(m => m.Password)
            </div>
            <div class="editor-label">
                @Html.CheckBoxFor(m => m.RememberMe)
                @Html.LabelFor(m => m.RememberMe)
            </div>
            <p>
                <input type="submit" value="Log On" />
            </p>
        </fieldset>
    </div>
    @section Scripts
        {
            @Scripts.Render("~/bundles/jquery", "~/bundles/jqueryval")
        }
}

AccountController.cs包含以下内容:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using System.Web.Security;
using MVCTest.Models;
namespace MVCTest.Controllers
{
    public class AccountController : Controller
    {
        //
        // GET: /Account/LogOn
        public ActionResult LogOn()
        {
            return View();
        }
        //
        // POST: /Account/LogOn
        [HttpPost]
        public ActionResult LogOn(LogOnModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                if (Membership.ValidateUser(model.UserName, model.Password))
                {
                    FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
                    if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
                        && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/''"))
                    {
                        return Redirect(returnUrl);
                    }
                    else
                    {
                        return RedirectToAction("Index", "Home");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "The user name or password provided is incorrect.");
                }
            }
            // If we got this far, something failed, redisplay form
            return View(model);
        }
        //
        // GET: /Account/LogOff
        public ActionResult LogOff()
        {
            FormsAuthentication.SignOut();
            return RedirectToAction("Index", "Home");
        }
        //
        // GET: /Account/Register
        public ActionResult Register()
        {
            return View();
        }
        //
        // POST: /Account/Register
        [HttpPost]
        public ActionResult Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                // Attempt to register the user
                MembershipCreateStatus createStatus;
                Membership.CreateUser(model.UserName, model.Password, model.Email, "question", "answerswer", true, null, out createStatus);
                if (createStatus == MembershipCreateStatus.Success)
                {
                    FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */);
                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    ModelState.AddModelError("", ErrorCodeToString(createStatus));
                }
            }
            // If we got this far, something failed, redisplay form
            return View(model);
        }
        //
        // GET: /Account/ChangePassword
        [Authorize]
        public ActionResult ChangePassword()
        {
            return View();
        }
        //
        // POST: /Account/ChangePassword
        [Authorize]
        [HttpPost]
        public ActionResult ChangePassword(ChangePasswordModel model)
        {
            if (ModelState.IsValid)
            {
                // ChangePassword will throw an exception rather
                // than return false in certain failure scenarios.
                bool changePasswordSucceeded;
                try
                {
                    MembershipUser currentUser = Membership.GetUser(User.Identity.Name, true /* userIsOnline */);
                    changePasswordSucceeded = currentUser.ChangePassword(model.OldPassword, model.NewPassword);
                }
                catch (Exception)
                {
                    changePasswordSucceeded = false;
                }
                if (changePasswordSucceeded)
                {
                    return RedirectToAction("ChangePasswordSuccess");
                }
                else
                {
                    ModelState.AddModelError("", "The current password is incorrect or the new password is invalid.");
                }
            }
            // If we got this far, something failed, redisplay form
            return View(model);
        }
        //
        // GET: /Account/ChangePasswordSuccess
        public ActionResult ChangePasswordSuccess()
        {
            return View();
        }
        #region Status Codes
        private static string ErrorCodeToString(MembershipCreateStatus createStatus)
        {
            // See http://go.microsoft.com/fwlink/?LinkID=177550 for
            // a full list of status codes.
            switch (createStatus)
            {
                case MembershipCreateStatus.DuplicateUserName:
                    return "User name already exists. Please enter a different user name.";
                case MembershipCreateStatus.DuplicateEmail:
                    return "A user name for that e-mail address already exists. Please enter a different e-mail address.";
                case MembershipCreateStatus.InvalidPassword:
                    return "The password provided is invalid. Please enter a valid password value.";
                case MembershipCreateStatus.InvalidEmail:
                    return "The e-mail address provided is invalid. Please check the value and try again.";
                case MembershipCreateStatus.InvalidAnswer:
                    return "The password retrieval answer provided is invalid. Please check the value and try again.";
                case MembershipCreateStatus.InvalidQuestion:
                    return "The password retrieval question provided is invalid. Please check the value and try again.";
                case MembershipCreateStatus.InvalidUserName:
                    return "The user name provided is invalid. Please check the value and try again.";
                case MembershipCreateStatus.ProviderError:
                    return "The authentication provider returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator.";
                case MembershipCreateStatus.UserRejected:
                    return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator.";
                default:
                    return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator.";
            }
        }
        #endregion
    }
}

最后,至少对于这个初始帖子(其他代码可根据请求提供),AccountModels.cs包含以下内容:

using System.ComponentModel.DataAnnotations;
namespace MVCTest.Models
{
    public class ChangePasswordModel
    {
        [Required]
        [DataType(DataType.Password)]
        [Display(Name = "Current password")]
        public string OldPassword { get; set; }
        [Required]
        [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
        [DataType(DataType.Password)]
        [Display(Name = "New password")]
        public string NewPassword { get; set; }
        [DataType(DataType.Password)]
        [Display(Name = "Confirm new password")]
        [System.ComponentModel.DataAnnotations.Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")]
        //[System.Web.Mvc.Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")]
        public string ConfirmPassword { get; set; }
    }
    public class LogOnModel
    {
        [Required]
        [Display(Name = "User name")]
        public string UserName { get; set; }
        [Required]
        [DataType(DataType.Password)]
        [Display(Name = "Password")]
        public string Password { get; set; }
        [Display(Name = "Remember me?")]
        public bool RememberMe { get; set; }
    }
    public class RegisterModel
    {
        [Required]
        [Display(Name = "User name")]
        public string UserName { get; set; }
        [Required]
        [DataType(DataType.EmailAddress)]
        [Display(Name = "Email address")]
        public string Email { get; set; }
        [Required]
        [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
        [DataType(DataType.Password)]
        [Display(Name = "Password")]
        public string Password { get; set; }
        [DataType(DataType.Password)]
        [Display(Name = "Confirm password")]
        [System.ComponentModel.DataAnnotations.Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
        //[System.Web.Mvc.Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
        public string ConfirmPassword { get; set; }
    }
}

下面是在输出显示中显示的处理jquery的错误条目:

Exception was thrown at line 1, column 22145 in http://localhost:53722/bundles/jquery?v=vEaljJV1h4KYaqn2s6dj9T-6yVrUkuN-z--_W-PVafM1
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 1, column 22372 in http://localhost:53722/bundles/jquery?v=vEaljJV1h4KYaqn2s6dj9T-6yVrUkuN-z--_W-PVafM1
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60610 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Unhandled exception at line 16, column 54 in http://localhost:53722/Scripts/jquery.validate.min.js
0x800a1391 - JavaScript runtime error: 'jQuery' is undefined
Unhandled exception at line 19, column 2 in http://localhost:53722/Scripts/jquery.validate.unobtrusive.min.js
0x800a1391 - JavaScript runtime error: 'jQuery' is undefined
Exception was thrown at line 1, column 22145 in http://localhost:53722/bundles/jquery?v=vEaljJV1h4KYaqn2s6dj9T-6yVrUkuN-z--_W-PVafM1
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 1, column 22372 in http://localhost:53722/bundles/jquery?v=vEaljJV1h4KYaqn2s6dj9T-6yVrUkuN-z--_W-PVafM1
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60610 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 1, column 14200 in http://localhost:53722/bundles/jquery?v=vEaljJV1h4KYaqn2s6dj9T-6yVrUkuN-z--_W-PVafM1
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 37, column 60451 in http://localhost:55810/ba6c272749e94650b56fa773ecca73a3/browserLink
0x800a139e - JavaScript runtime error: SyntaxError

0x800a1391 - JavaScript运行时错误:'jQuery'undefined"

我开始收到上述错误信息每次我试图去登录页面

如果我没弄错的话,你的LogOn页根本没有jquery…并反复调用jquery.validate插件....

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
....
//then again here:
@Scripts.Render("~/bundles/jqueryval")

那么试试这个:

@Scripts.Render("~/bundles/jquery", "~/bundles/jqueryval")

Hth…