기본적으로 내 ASP.NET 웹 폼 페이지의 Page_Load 메서드로 자바 스크립트 함수에서 일부 테스트 값을 보내려고합니다.Ajax POST 데이터가 ASP.NET의 Page_Load 메서드로 전송되지 않습니다.
그러나 디버깅 할 때 요청 데이터가 null이고 이 조건을 통과하지 못하는 것으로 나타났습니다.
코드 : 뒤에
에서 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;
}
}
데이터가 뒤에있는 코드에서 수신되지 않는 이유는 어떤 생각? 그것은 매우 간단한 예이며 그 이유는 궁금합니다.
모든 리소스가 이미로드되어 있기 때문에 페이지로드 이벤트가 발생하지 않기 때문에 호출되지 않습니다. 아약스 호출을 대신 처리하기 위해 웹 서비스 메서드를 만듭니다. – Sherlock
페이지로드가 시작됩니다. 한 번 페이지가로드되고 버튼을 클릭하면 다시로드됩니다. 버튼을 클릭하면 데이터를 전송할 때 상태로 이동해야합니다. 그것은 단지 조건을 통과하지 못합니다. @MidTwo – Dinuka
다른 json 키를 사용하거나 "데이터"를 다른 키 이름으로 바꾸거나 폼 배열의 값을 검사하십시오 – Sherlock