Jquery AJAX不调用WebMethod ASP.net
我正在尝试使用ajax将数据插入到mysql,而无需回发 下面的代码是Jquery AJAX不调用WebMethod ASP.net,jquery,asp.net,ajax,Jquery,Asp.net,Ajax,我正在尝试使用ajax将数据插入到mysql,而无需回发 下面的代码是 <script src="Scripts/jquery-3.5.1.min.js"></script> <script src="Scripts/jquery-3.5.1.js"></script> <script type="text/javascript" src="http://ajax.goog
<script src="Scripts/jquery-3.5.1.min.js"></script>
<script src="Scripts/jquery-3.5.1.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<input type="button" value="Submit" onclick="SaveRecord();" />
<script type="text/javascript">
function SaveRecord() {
var obj = { Year: $("#yeartxt").val(), Title: $("#titletxt").val(), Content: $("#contenttxt").val() };
//Jquery Ajax call to server side method
var year = $("#yeartxt").val();
var title = $("#titletxt").val();
var content = $("#contenttxt").val();
//Jquery Ajax call to server side method
$.ajax({
type: "POST",
url: "Page.aspx/InsertDetails",
data: "{'Year':" + year + ",'Title':" + title + ",'Content':" + content + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
alert("Updated!");
}
});
}
</script>
但是,没有调用WebMethod(我尝试过调试它)。我试着绕过代码。什么都没用。success:function(data){alert(“Updated!”);}
中的警报正在工作,我想这可能表明ajax代码没有问题
我需要这方面的帮助,或者在不回发的情况下向mysql插入数据的替代方法。这是我的重点
谢谢。发出AJAX请求后,请检查开发工具中的“网络”选项卡,查看响应文本和状态代码。它应该会给你一个错误,你可以用它来找出问题所在并调试它谢谢你的回答。我检查了它,错误是{Message:“Authentication failed.”,StackTrace:null,}ExceptionType:“System.invalidooperationexception”,在这种情况下,您需要在请求中包含当前用户的身份验证令牌-无论您使用什么方法。例如,一个承载或基本身份验证令牌将进入一个头中。实际上,我尝试根据以下内容修改RouteConfig,但它给出了另一个错误消息:“无效的JSON原语:未定义。”,…}ExceptionType:“System.ArgumentException”
[WebMethod]
public static void InsertDetails(string Year, string Title, string Content)
{
string CoString = ConfigurationManager.ConnectionStrings["Connection"].ConnectionString;
using (MySqlConnection CoN = new MySqlConnection(CoString))
{
using (MySqlCommand cmd = new MySqlCommand("INSERT INTO db(year, title, content) VALUES(@year, @title, @content)", CoN))
{
CoN.Open();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Year", Year);
cmd.Parameters.AddWithValue("@Title", Title);
cmd.Parameters.AddWithValue("@Content", Content);
cmd.ExecuteNonQuery();
}
}
}