0

ここで簡単なものが欠けているかもしれませんが、それは私を苛立たせます。したがって、私がする必要があるのは、リンクの周りのこのdivがクリックされたときにサーバー上の何かを更新することです(私はクリックスルー分析を行っています)。クリックイベントを実行し、(getを介して)ajax呼び出しを実行すると考えました。

$.get("stat/418491289);

しかし、問題は、呼び出しが行われていないことです。ユーザーは次のページに送られ、getcallを呼び出さないことは完了/呼び出されません。サーバー上でデータベースを更新するので、私は知っているでしょう。たぶん私はajax呼び出しをするべきではないか、あるいは私がしなければならないことがあるかもしれませんが、私にはわかりません。リンクアクションはdivにラップされているため、今のところ一時停止できません。私が理想的にやりたいのは、リクエストを実行し、それを心配しないことです。統計情報の更新は重要ではないため、1%の確率で機能しない場合は、問題ありません。どうすればいいですか?

はっきりしないかもしれません。私が求めているのは、ブラウザがリンクされたページに移動する前に、JavaScriptを介してサーバーへのリクエストを実行できますか?応答が何であるかは関係ありません。要求を送信するだけです。

4

3 に答える 3

2

質問を明確に理解している場合は、次preventDefaultのようなリンクのデフォルトの動作をキャンセルするために使用する必要があります

$("#linkID").click(function(e){
 e.preventDefault();
 //ajax call here
});

または置くreturn false;

$("#linkID").click(function(){

     //ajax call here
     return false;
    });
于 2012-04-29T22:00:24.593 に答える
1

ページのネットワークトラフィックをチェックして、getリクエストがまったく行われていないかどうかを確認しましたか(サーバーによって処理されていないかどうか)?おそらくURLが正しくなく、404応答が返されます。

また、クリックイベントの処理方法でもある可能性があります。divクリックハンドラーからajaxリクエストが行われ、ユーザーがリンク()をクリックしている場合、リンクは最初にユーザーをページに誘導するクリックを処理します。デフォルトのリンクハンドラーがクリックを親要素に伝播するかどうかはわかりません。

これが問題である場合は、問題を見つけるのに役立つコードを確認する方が簡単な場合があります。

于 2012-04-29T21:49:53.497 に答える
1

URLに2番目の引用符がありません。

于 2012-04-29T21:58:09.993 に答える