30

クライアント側のものをいじることはほとんどなく、おそらく単純なこのタスクは私のお尻を蹴っています:)

私はいくつかのリンクを持っています。OnClick デフォルト アクションを防止し、その href URL をキャプチャし、その URL に ajax GET を送信し、単純alert()に結果を取得したいのですが、開始行を通過することさえできません :)

再生時間のアンカーの例:

<a class="asynch_link" href="good/1.html">Click Here</a>
<a class="asynch_link" href="good/2.html">Click Here</a>

ここで、SO で同様のリクエストをいくつか提案してみましたが、リンクによってブラウザは依然として href URL に移動します。

だけでも

<script type="text/javascript">
    $('a').click(function (event) 
    { 
         event.preventDefault(); 
         //here you can also do all sort of things 
    });
</script>

...リンクは引き続き他のページに移動します。

私はここで幼児のように感じています:)

ありとあらゆる助けが深く感謝されます。

そして、はい、私はjQueryを含めています:)
<script src="//67.20.99.206/javascripts/jqueryCountdown/1-5-11/jquery.countdown.js" type="text/javascript" charset="utf-8"></script>

4

3 に答える 3

41
$('a').click(function(event) { 
    event.preventDefault(); 
    $.ajax({
        url: $(this).attr('href'),
        success: function(response) {
            alert(response);
        }
    });
    return false; // for good measure
});
于 2012-09-29T19:18:19.533 に答える
20

これを試して

$('a').click(function (event) 
{ 
   event.preventDefault(); 

   var url = $(this).attr('href');
   $.get(url, function(data) {
     alert(data);
    });

 });
于 2012-09-29T00:40:28.810 に答える
4

ここでの問題は、イベントがDOM ready event にバインドされていないため、イベントが要素にアタッチされていないことです。イベントをDOM Readyイベントに含めてみてください。うまくいくとアラートが表示されます

<script> 
    $(function() {
         $('a').click(function(event) {
            event.preventDefault();
            alert('fff')
        //here you can also do all sort of things 
        });
    }); 
</script>

この後、Ajax リクエストを送信し、Success コールバック関数でフォームを送信します。

<script> 
    $(function() {
         $('a').click(function(event) {
             event.preventDefault();
             $.ajax({
                 url: 'url',
                 dataType :'json',
                 data : '{}',
                 success :  function(data){
                     // Your Code here

                     $('#form').submit();
                 }
             })
        });
    }); 
</script>
于 2012-09-29T00:39:35.640 に答える