C# SyntaxError:JSON.parse:意外字符错误意外标记<;

C# SyntaxError:JSON.parse:意外字符错误意外标记<;,c#,jquery,asp.net,ajax,json,C#,Jquery,Asp.net,Ajax,Json,我在html正文中有一个带有“button account”名称的html按钮,当用户单击该按钮时,我希望用ajax更新aspx页面 我在google chrom中发现了这个错误 语法错误:JSON.parse:意外字符 这是火狐 语法错误:JSON.parse:意外字符 这是我的密码 <script type="text/javascript" > $(document).ready(function () { $("#button-account").b

我在html正文中有一个带有“button account”名称的html按钮,当用户单击该按钮时,我希望用ajax更新aspx页面

我在google chrom中发现了这个错误

语法错误:JSON.parse:意外字符

这是火狐

语法错误:JSON.parse:意外字符

这是我的密码

<script type="text/javascript" >
    $(document).ready(function () {

        $("#button-account").bind("click", "accountRegister");

        function accountRegister() {
            var waitObj = "<span class='wait' > <img  src='Resource/Images/loading.gif' alt='' /> </span>";
            var user = $("[name='username']").val();
            var pass = $("[name='password']").val();
            var dataObj = {
                "username": user,
                "password": pass,
            };
            $.ajax({
                type: "POST",
                url: "Checkout.aspx/login",
                data: dataObj,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                beforSend: function () {
                    $(this).attr("disabled", "true");
                    $(this).after(waitObj);
                },
                success: function (msg) {
                    // Replace the div's content with the page method's return.
                    alert("success");
                    $("#checkout").slideUp("slow");
                    $("#payment-address").slideDown("slow");
                },
                error: function (msg) {
                    alert("error");
                },
                complete: function () {
                    $(this).attr("disabled", "false");
                    $(".wait").remove();
                },
            });
        }


    });





</script>
和小提琴手返回200状态。 但返回html。我知道这是我的错误。如何解决


任何帮助都是正确的…

服务器可能会返回一个错误页面(例如,
“…”
),而不是您期望的JSON响应

使用chrome的开发者工具或类似工具检查服务器返回的确切答案


针对你的评论:

检查返回的HTML页面的内容。这可能是由服务器端代码(例如未处理的异常)或服务器端配置引起的错误。

更改此设置

var dataObj = {
                "username": user,
                "password": pass,
            };
对此

var dataObj = {
                "username": user,
                "password": pass
            };
您在pass之后有一个额外的逗号
“password”:pass,
),因此无法正确序列化它

编辑:

试试这个

[WebMethod]
    public static string login()
    {
        //bool UserIsValid = false;
        //string userName = "";
        //string pass = "";
        //MembershipUser u = Membership.GetUser(userName);
        //pass = u.GetPassword();
        //if (UserIsValid)
        //{
        //  //  returnAsHtml = "true";

        //}
        //else
        //{
        //    //returnAsHtml = "use is not valid";

        //}

        //JavaScriptSerializer js = new JavaScriptSerializer();
        //string result = js.Serialize("{ a:'1' }"); // no need to serialize 
        return "{ a:'1' }";

    }
非常抱歉

在另一节中,a称之为

 $('#button-login').live('click', function () {
    $.ajax({
        url: 'Checkout.aspx?login',
        type: 'post',
        data: $('#checkout #login :input'),
        dataType: 'json',
        beforeSend: function () {
            $('#button-login').attr('disabled', true);
            $('#button-login').after('<span class="wait">&nbsp;<img src="Resource/Images/loading.gif" alt="" /></span>');
        },
        complete: function () {
            $('#button-login').attr('disabled', false);
            $('.wait').remove();
        },
        success: function (json) {
            $('.warning, .error').remove();

            if (json['redirect']) {
                location = json['redirect'];
            } else if (json['error']) {
                $('#checkout .checkout-content').prepend('<div class="warning" style="display: none;">' + json['error']['warning'] + '</div>');

                $('.warning').fadeIn('slow');
            }
        },
        error: function (xhr, ajaxOptions, thrownError) {
            alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
        }
    });
});
$('#按钮登录').live('click',函数(){
$.ajax({
url:'Checkout.aspx?login',
键入:“post”,
数据:$(“#签出#登录:输入”),
数据类型:“json”,
beforeSend:函数(){
$(“#按钮登录”).attr('disabled',true);
$('#按钮登录')。在('')之后;
},
完成:函数(){
$(“#按钮登录”).attr('disabled',false);
$('.wait').remove();
},
成功:函数(json){
$('.warning,.error').remove();
if(json['redirect']){
location=json['redirect'];
}else if(json['error']){
$('#checkout.checkout content').prepend(''+json['error']['warning']+'');
$('.warning').fadeIn('slow');
}
},
错误:函数(xhr、ajaxOptions、thrownError){
警报(thrownError+“\r\n”+xhr.statusText+“\r\n”+xhr.responseText);
}
});
});

hi,fiddler结果为200,ajax运行successfully@Edalat:但是回复的内容是什么?它是预期的JSON还是HTML(错误-)页面?它返回HTML,毫无根据。能否显示调用
JSON.parse()
的代码部分?
 $('#button-login').live('click', function () {
    $.ajax({
        url: 'Checkout.aspx?login',
        type: 'post',
        data: $('#checkout #login :input'),
        dataType: 'json',
        beforeSend: function () {
            $('#button-login').attr('disabled', true);
            $('#button-login').after('<span class="wait">&nbsp;<img src="Resource/Images/loading.gif" alt="" /></span>');
        },
        complete: function () {
            $('#button-login').attr('disabled', false);
            $('.wait').remove();
        },
        success: function (json) {
            $('.warning, .error').remove();

            if (json['redirect']) {
                location = json['redirect'];
            } else if (json['error']) {
                $('#checkout .checkout-content').prepend('<div class="warning" style="display: none;">' + json['error']['warning'] + '</div>');

                $('.warning').fadeIn('slow');
            }
        },
        error: function (xhr, ajaxOptions, thrownError) {
            alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
        }
    });
});