validateLogin是一个未定义的函数。(javascript异常)

validateLogin是一个未定义的函数。(javascript异常),javascript,ajax,Javascript,Ajax,嗨,我得到了一个未定义函数的错误,我想我的代码是 好的,在这种情况下有人能帮忙吗?请帮忙给我提个建议 通过ajax方法通过webservice获取数据的好教程 <script type="text/javascript" language="javascript" src="Scripts/jquery-1.4.1.js"> function validatelogin() { $('input[type=button]').attr('disabled',

嗨,我得到了一个未定义函数的错误,我想我的代码是 好的,在这种情况下有人能帮忙吗?请帮忙给我提个建议 通过ajax方法通过webservice获取数据的好教程

<script type="text/javascript" language="javascript" src="Scripts/jquery-1.4.1.js">

  function validatelogin() {

        $('input[type=button]').attr('disabled', true);
        $("#login").html('');
        var loginId = $('#txt_id').attr('value'); // get username
        var password = $('#txt_pwd').attr('value'); // get password

        $.ajax({

            type: "POST",
            url: "WebService.asmx/validateLogin",
            data: "lognId=" + loginId + "&password=" + password,
            contentType: "application/json; charset=utf-8",

             success: function (result) {
                    returnVal = result.d;
                    alert(returnVal);
                },

                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    returnVal = '';
                    },
        });
     }


</script>

函数validatelogin(){
$('input[type=button]').attr('disabled',true);
$(“#login”).html(“”);
var loginId=$('#txt_id').attr('value');//获取用户名
var password=$('#txt_pwd').attr('value');//获取密码
$.ajax({
类型:“POST”,
url:“WebService.asmx/validateLogin”,
数据:“lognId=“+loginId+”&password=“+password,
contentType:“应用程序/json;字符集=utf-8”,
成功:功能(结果){
returnVal=result.d;
警报(returnVal);
},
错误:函数(XMLHttpRequest、textStatus、errorshown){
returnVal='';
},
});
}

您的请求
内容类型
JSON
,但实际上您传递的是
名称-值对
。试试这个:

data: JSON.stringify({loginId: loginId, password: password}),

另外,无需使用
attr('value')
来获取输入值,您可以使用
val()

您不能链接JavaScript源文件并在同一标记中定义代码。只需将它们拆分为两个单独的标记,如下所示:

<script type="text/javascript" src="Scripts/jquery-1.4.1.js"></script>
<script type="text/javascript">
  function validatelogin() {

        $('input[type=button]').attr('disabled', true);
        $("#login").html('');
        var loginId = $('#txt_id').attr('value'); // get username
        var password = $('#txt_pwd').attr('value'); // get password

        $.ajax({

            type: "POST",
            url: "WebService.asmx/validateLogin",
            data: "lognId=" + loginId + "&password=" + password,
            contentType: "application/json; charset=utf-8",

             success: function (result) {
                    returnVal = result.d;
                    alert(returnVal);
                },

                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    returnVal = '';
                    },
        });
     }


</script>

函数validatelogin(){
$('input[type=button]').attr('disabled',true);
$(“#login”).html(“”);
var loginId=$('#txt_id').attr('value');//获取用户名
var password=$('#txt_pwd').attr('value');//获取密码
$.ajax({
类型:“POST”,
url:“WebService.asmx/validateLogin”,
数据:“lognId=“+loginId+”&password=“+password,
contentType:“应用程序/json;字符集=utf-8”,
成功:功能(结果){
returnVal=result.d;
警报(returnVal);
},
错误:函数(XMLHttpRequest、textStatus、errorshown){
returnVal='';
},
});
}
引用:

src

此属性指定外部脚本的URI;这可以作为直接在文档中嵌入脚本的替代方法。指定了src属性的脚本元素不应在其标记中嵌入脚本


那么,哪个函数是“未定义的”?另外,$.ajax选项中的尾随逗号将在IE中导致错误。为什么要字符串化这些值?只要使用数据:{loginId:loginId,password:password}就足够了!顺便说一句,问题是为什么他的函数是未定义的,而不是关于Ajax请求的,即使你说得对!