运行时错误Javascript未定义

时间:2016-03-02 12:11:27

标签: javascript html

作为一些背景,我来自VB6,然后是VB.Net,我现在正在尝试使用C#的Bootstrap / MVC,所以请原谅我的搜索...我已经搜索过并在YouTube上也是如此,但是有点挣扎。我的方法是错的告诉我!

目的: 存储过程运行,在这种情况下,确认用户名和密码是否正确。我想要在以后的存储过程中添加插入/编辑。

问题: 当我在网站上运行代码时,我没有错误或结果。在调试模式中,我得到:

Unhandled exception at line 133, column 5 in http://localhost:49647/Account/Login

0x800a1391 - JavaScript runtime error: '$' is undefined

思想 我不是JS程序员,但我会假设我需要以某种方式向'Dim'添加一些东西?看0x800a1391 - JavaScript runtime error: 'jQuery' is undefined我可能需要打个电话?

User.cs

using System;
using System.Data.SqlClient;
using System.Data;
using System.Configuration; 

namespace Login.BL
{
    public class User
    {
        public int UserID { get; set; }
        //[Required]
        public int Username { get; set; }
        //[Required]
        public int UserPassword { get; set; }

    }
    public class UserBusinessLogic
    {
        string conStr = ConfigurationManager.ConnectionStrings["myTaylorWoodrowSQL"].ConnectionString;
        public int CheckUserLogin(User User)
        {
            //Check the user is valid!!!!
            using (SqlConnection conObj = new SqlConnection(conStr))
            {
                SqlCommand comObj = new SqlCommand("retrieveUserByNameAndPassword", conObj);
                comObj.CommandType = CommandType.StoredProcedure;
                comObj.Parameters.Add(new SqlParameter("@Username", User.Username));
                comObj.Parameters.Add(new SqlParameter("@Password", User.UserPassword));
                conObj.Open();
                return Convert.ToInt32(comObj.ExecuteScalar());
            }
        }
    }
}

摘自 Login.cshtml 我可以发布完整代码

<script> 
    $("#Login").click(function ()
    {
        var dataObject = { UserName: $("#UserName").val(), Password: $("#Password").val() };
        $.ajax({
            url:'@Url.Action("Login","User")',
            type:"POST",
            data: dataObject,
            datatype: "json",
            success: function(result)
            {
                if(result.toString()=="Success")
                {
                    alert(result);
                }
                else
                {
                    alert(result);
                }
            },
            error: function (result)
            {
                alert("Error");
            }
        });
    })
</script>

2 个答案:

答案 0 :(得分:2)

  

JavaScript运行时错误:&#39; $&#39;未定义

表示jquery未加载到您的页面中。因此,如果它是默认的MVC应用程序,它将被加载到parseVector中。但我认为你已经编写了登录页面而没有使用默认布局,所以你可以将这行代码添加到你的登录页面部分(如果你使用的是布局页面然后是这个布局的头部分),一切都必须正常。

_Layout page

默认的MVC应用程序将以此名称 @Scripts.Render("~/bundles/jquery") 捆绑Jquery和验证相关文件,这就是我们使用它的方式,如果它是一个空的应用程序,那么你必须创建一个新的包,或者只添加将jquery文件引用到这样的页面。

~/bundles/jquery

答案 1 :(得分:1)

在运行脚本之前,您似乎没有加载jquery库。

有关如何加入的详细信息,请参阅https://learn.jquery.com/about-jquery/how-jquery-works/

如果您获得jquery.js的本地副本然后插入一行,例如

,这是最好的
<script src="jquery.js"></script>

在脚本标记之前使用您自己的代码。