私はASP.Netを使用しており、JavaScript関数の後にが完全に終了した後にサーバー側の関数を呼び出す必要があります。OnClientClick AJAXが終了した後にOnClickを発生させよう
問題は、クライアントコードが終了し、隠し値が空になる前にサーバーコードを実行していることです。 AJAXの呼び出しはドメイン間で行われますので、asyncを使用してください:falseは動作していません。
少し基本的な説明のために、以下の基本コードを追加しました。
HTML
<input id="hdnToken" type="hidden" name="hdntoken" value="" />
<asp:Button ID="btnSubmit" Text="Submit" OnClientClick="return getToken();" OnClick="btnSubmit_Click" runat="Server"></asp:Button>
はJavaScript
function getToken() {
$.ajax({
async: false, // Ignored across domains
method: "POST",
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
success: OnSuccess,
error: OnError
});
function OnSuccess(response) {
$('#hdnToken').val(response);
return true;
}
function OnError(response) {
console.log(response);
return false;
}
};
ASP.Netサーバー側のコード
protected void btnSubmit_Click(object sender, EventArgs e)
{
var hidden = Request.Form["hdnToken"];
}
作品を無効にする必要はありません、ありがとう – fizgog