基本的に、私のJavaScript関数からASP.NET Webフォームページの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;
}
}
データが背後にあるコードから受信されない理由を任意のアイデア?それは非常に簡単な例で、なぜ私は不思議に思っています。
すべてのリソースが既にロードされているためページロードイベントが発生しないため、これは呼び出されません.Ajaxコールを処理する代わりにWebサービスメソッドを作成してください。 – Sherlock
ページが読み込まれます。ページが読み込まれると、ボタンがクリックされたときにもう一度読み込まれます。ボタンをクリックすると、データを送信している状態になるはずです。それは単に条件を通過しません。 @MidTwo – Dinuka
別のjsonキーを使用しようとすると、 "data"を別のキー名に置き換えたり、フォーム配列の値を調べたりします。 – Sherlock