使用ASP.NET Webforms发布Ajax
本文关键字:发布 Ajax Webforms NET ASP 使用 | 更新日期: 2023-09-27 18:04:33
我想用ajax调用将数据发布到服务器,但我遇到了一个错误。
var userdata = {};
userdata["Name"] = "Saran";
var DTO = { 'userdata': userdata };
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Default.aspx/update",
data: JSON.stringify(DTO),
datatype: "json",
success: function (result) {
//do something
alert("SUCCESS = " + result);
console.log(result);
},
error: function (xmlhttprequest, textstatus, errorthrown) {
alert(" conection to the server failed ");
console.log("error: " + errorthrown);
}
});//end of $.ajax()
我在Default.aspx中创建了一个函数,并尝试通过上述调用访问该函数。
[WebMethod]
public static string update(string userdata)
{
return "Posted";
}
错误:
POST http://localhost:33762/Default.aspx/update 401 Unauthorized 52ms
消息"身份验证失败。"StackTrace null ExceptionType
"System.InvalidOperationException">
首先,您必须在App_Start/RouteConfig.cs中设置/更新为settings.AutoRedirectMode = RedirectMode.Off;
。
其次,ajax负载的结构不正确,无法对update
方法进行适当的调用。请参阅以下更新:
var DTO = { 'userdata': 'Saran' };
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Default.aspx/update",
data: JSON.stringify(DTO),
datatype: "json",
success: function (result) {
//do something
alert("SUCCESS = " + result.d);
console.log(result);
},
error: function (xmlhttprequest, textstatus, errorthrown) {
alert(" conection to the server failed ");
console.log("error: " + errorthrown);
}
});//end of $.ajax()