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方法
根据我的测试,请确保您进行了以下操作:
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);
}
Ajax
帖子URL
应该是url: 'WebForm1.aspx/Testfy'
,其中WebForm1.aspx
替换了您的页面名称。确保像这样正确引用外部脚本链接:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>
希望它可以帮助您解决问题。