-4

jQuery関数を実行できるように、従来のポストバックでWebサーバーの応答がクライアントに送信されたことを知る方法はありますか?

例えばdiv

Page.RegisterStartUpScript("<script type="text/javasctip">alert('Succeed')</script>);

または

var request = $.ajax({
   url: "page/someWebMethod",
   type: "POST",
   data: {id : menuId},
   dataType: "html"
 });

 request.done(function(msg) {
    $('DivOk').show();
 });
4

3 に答える 3

1

特定のアプリケーションなしで答えるのは難しいですが、jQuery メソッド内にとどまり、jQuery の ajax メソッドに ansync: false オプションを使用して、ここの回答で示されているように同期を作成できます: How can I get jQuery to perform a synchronous, rather非同期、Ajax リクエストよりも?

于 2012-11-20T14:46:19.150 に答える
0

使用されている HTTP メソッドを確認して (たとえば、POST を実行したと仮定して)、たとえば ASPX で何かを実行できます。

<script type="text/javascript">

    var has_posted = <%= GetPosted() %>;

    if (has_posted) callSomething();

</script>

コードビハインド:

protected string GetPosted()
{
    return (Request.HttpMethod == "POST").ToString().ToLower();
}

私は通常これを使用して行いますが、非表示フィールド<form>を使用して追加のチェックを渡すことができますが、アイデアはわかります。<input>

于 2012-11-20T14:37:21.037 に答える
0

編集:(非伝統的な方法):)

jQuery.ajaxの成功はあなたが望むものを与えるべきではありませんか?

$.ajax({
  url: 'ajax/test.html',
  success: function(data) {
    $('.result').html(data);
    alert('Load was performed.');
  }
});
于 2012-11-20T14:37:29.083 に答える