0

リンクに移動するバッチを作成しようとしていますが、これは問題ではありません。問題は、Web サイトからリンクを取得しようとしていて、なぜ私が悪いのかわかりません。私はそれをよりよく説明します.ウェブサイトには画像があります.この画像は私が望む場所にあなたを連れて行きます. イメージコードです。クッキーは忘れて、この画像があなたを連れて行く場所だけが欲しい.

<div id="x" class="votes" style="height:30px;">
<img src="images/image.png" id="y"></div>

下に行くと、次のコードがあります。

<script>
("#y").click(function () {
  $.post("z.php",{id:100},function(exit){
    $("#x").html(exit);
  }
);
</script>

OK、問題は、たとえば www.h.com/i.php?id=100 (お見せしたコードがあります) のような Web サイトにいて、URL を /i.php?id に変更することです。 =100 for /z.php?id=100 (私が思っていた Web サイトの動作) 次のエラーが表示されます。

SQL 構文にエラーがあります。1 行目の near '' を使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

しかし、web で image.png をクリックすると、web は私が URL でやろうとしていることを実行します... あなたが私を理解しているかどうかわかりません。私の英語と私の説明で申し訳ありません。

4

2 に答える 2

1

GET 要求と POST 要求を交換することはできません。次のようなものは GET リクエストです。

www.h.com/i.php?id=100

また、あなたのz.php. SQL クエリの処理方法に問題があります。構文エラーの原因となるタイプミスである可能性があります。おそらく、引用符のエスケープを逃したか、引用符を忘れたか、開始引用符と終了引用符が一致していません。

于 2012-05-26T11:24:53.643 に答える
0

z.php が実際に GET に応答する場合、POST を使用することはできません。z.php が実際に GET に応答すると仮定すると、ajax の結果を div に入力する必要があるため、jQuery の load 関数の方が適しています。

試していませんが、以下を試してみてください。

<script>
("#y").click(function () {
    $("#x").load("z.php", {id:100});
  });
</script>

コメントへの返信:

画像をクリックせずにコードが行うことを行う方法はありますか?

はい。ユーザーがクリックせずにアクションを実行したい場合は、これだけを試すことができます:

<script>
$(function(){
    $("#x").load("z.php", {id:100});
});
</script>

バッチに関するあなたの質問を理解したと思います。JavaScript では、好きな場所でバッチ プログラムを実行できます。script タグ内に JavaScript の行 / バッチを挿入するだけです。

<script>
  //... Your program comes here (batch)
</script>

ただし、バッチはリソース/イメージが読み込まれた後にのみ実行する必要があります。このように、ドキュメントのロードが完了した後にプログラム/バッチを実行できます。

<script>
  $(function() {
     //... Your program comes here (batch)
  });
</script>

これについて詳しく理解するには、「javascript ドキュメント ロード」または「javascript オン ロード」についてググってください。Jquery は$(function(){ /* ... */ });、上記のようにドキュメントの負荷を検出する機能を提供します。

于 2012-05-26T11:53:58.510 に答える