Ajax发布请求未命中Web方法asp.net Web表单(.Net 4.5)

问题描述 投票:-1回答:1

Ajax请求

    $(document).ready(function () {
        $("#submit").click(function () {
            alert("clicked");
            var postdata = new Object();
            postdata.FirstName = $('#txtFirstName').val();
            postdata.Mobile = $('#txtMobile').val();
            postdata.Email = $("#CPH_Sections_txtEmail").val();
            postdata.Password = $("#CPH_Sections_txtPassword").val();
            postdata.Code = $('#txtCode').val();

            var postdata = { harisModel: postdata };
            $.ajax({
                type: "POST",
                url: '~/Register.aspx/testfy',
                data: JSON.stringify(postdata) ,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (data) {
                                        alert("success" + data.d);
         },
                error: function (jqXHR, textStatus, errorThrown) {
                    alert("Status: " + jqXHR.status + "; Error: " + jqXHR.responseText);              
         }

     });

        });
    });

Webmethod

[WebMethod]
public static string testfy(HarisModel harisModel)
{    
   return "{'returnstatus':'true'}"; 
}

Model Class

public class HarisModel
{

    public string FirstName { get; set; }

    public string Mobile { get; set; }

    public string Email { get; set; }


    public string Password { get; set; }

    public string Code { get; set; }

}

问题描述:Ajax调用未点击Web方法

c# jquery asp.net ajax asp.net-ajax
1个回答
0
投票

根据我的测试,请确保您进行了以下操作:

  1. RouteConfig文件中,您已写入settings.AutoRedirectMode = RedirectMode.Off;

文件应该看起来像这样:

   public static void RegisterRoutes(RouteCollection routes)
        {
            var settings = new FriendlyUrlSettings();
            settings.AutoRedirectMode = RedirectMode.Permanent;
            settings.AutoRedirectMode = RedirectMode.Off; //This usually causing problem.
            routes.EnableFriendlyUrls(settings);
        }
  1. 您的Ajax帖子URL应该是url: 'WebForm1.aspx/Testfy',其中WebForm1.aspx替换了您的页面名称。
  2. 确保像这样正确引用外部脚本链接:

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>

希望它可以帮助您解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.