我基本上试图从我的JavaScript函数发送一些测试值到我的ASP.NET Web窗体页面中的Page_Load方法。Ajax POST数据没有被发送到ASP.NET中的Page_Load方法
但是,调试时,我注意到请求数据为空,并且未通过条件。
代码:
Test.aspx的
<form id="form1" runat="server">
<div>
<input type="button" onclick="senddata()" />
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
function senddata() {
var testdata = "checkcheck";
$.ajax({
type: 'POST',
url: '/test.aspx',
data: { "data": testdata},
success: function (msg) {
console.log(msg);
}
});
}
</script>
</form>
代码背后:
protected void Page_Load(object sender, EventArgs e)
{
//doesn't go beyond this when I click the button
if (!string.IsNullOrEmpty(Request.Form["data"]))
{
string resp = "working";
Response.Write(resp);
Response.End();
return;
}
}
任何想法,为什么数据不是从后面的代码收到?这是一个非常简单的例子,我想知道为什么。
这不会被调用,因为页面加载事件不会被触发,因为所有的资源已经加载,创建一个web服务方法,而不是为了处理你的AJAX调用 – Sherlock
页面加载被激发。一旦加载页面,再次点击按钮时。当点击按钮时,它应该进入条件,因为我正在发送数据。它只是没有通过条件。 @MidTwo – Dinuka
尝试使用另一个json键,用另一个键名替换“data”或检查表单数组的值 – Sherlock