
画像をクリックしたときにjQuery,Ajaxを利用してGET/POSTをしたいです。
POSTとGETは良く使うので今回両方の流れを知りたいと思います。
PHPではPOST、GETは使うことができます。javascript,jQueryはちょっと触ったことのある程度です。
フォームに値を入力してjQueryとAjaxでPOSTでデータを送るのは下記ホームページを参考にしてみたら成功しました。
http://webcake.no003.info/webdesign/jquery-ajax- …
今回は下記のような複数のパラメータを送信したいと思います。
画像Aをクリックした時にkeyword=aaaa,cate=1
画像Bをクリックした時にkeyword=bbbb,cate=2
画像Cをクリックした時にkeyword=cccc,cate=3
今までPHPでGETを使っていた時のHTML部分です↓
<a href="index.php?keyword=aaaa&cate=1"><img src="images/a.jpg"></a>
<a href="index.php?keyword=bbbb&cate=2"><img src="images/b.jpg"></a>
<a href="index.php?keyword=cccc&cate=3"><img src="images/c.jpg"></a>
「send.phpファイル」
<?php
//POSTでデータが送られた場合
echo $_POST['keyword'].'<br>';
echo $_POST['cate'].'<br>';
//GETでデータが送られた場合
echo $_GET['keyword'].'<br>';
echo $_GET['cate'].'<br>';
?>
==GET================================================================
(HTML部分)
<a href="index.php?keyword=aaaa&cate=1"><img src="images/a.jpg"></a>
の記載方法だと、クリックしたときにアドレスバーにアドレスが入力されるのでページが切り替わってしまいAjaxにならないので違う形にする必要があると思いますがどのようにkeyword,cateのパラメータを持たせればよいのでしょうか?
または、この形のままで良く、リンクした時にページが飛ばないような処理方法があるのでしょうか?(またはAjaxではあまりGETは使わないのでしょうか?)
上記に記載した、POSTの参考例のソースを記載します。
GETの場合にどのように変えたらよいのでしょうか。
$(document).ready(function() {
var data = {request : $('#request').val()};//GETで複数値対応に書き換えが必要。
$.ajax({
type: "GET",
url: "send.php",
data: data,
success: function(data, dataType) {
$( '#test' ) . html( data );
},error: function(XMLHttpRequest, textStatus, errorThrown) {
this;
alert('Error : ' + errorThrown);
}
});
});
==POST================================================================
(HTML部分)
formを使う形になると思いますが、どのような書き方が良いのか教えて下さい。
画像を使うと下記のようになるとは思いますが、A,B,Cそれぞれにkeyword,cateの情報をどのように持たせておいたらよいのかがわかりません。
<form>
<button type="submit" name="" value="*****"><img src="sample.gif"></button>
</form>
(jQuery部分)
$(document).ready(function() {
var data = {request : $('#request').val()};//POSTで複数値対応に書き換えが必要。
$.ajax({
type: "POST",
url: "send.php",
data: data,
success: function(data, dataType) {
$( '#test' ) . html( data );
},error: function(XMLHttpRequest, textStatus, errorThrown) {
this;
alert('Error : ' + errorThrown);
}
});
});
以上、よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
こんにちは。
特に意識したことが無かったので、的外れな回答だったら申し訳ございません。
HTMLの記述がなんであれ、getでもpostでも通信できますので以下のサンプルをご覧下さい。
==== 動作サンプル
http://hppg.moe.hm/okwave/qa/q7423626/
どちらもHTMLのタグの構成は一緒です。
aタグのhrefからパラメータ部分を取得し、ajaxのパラメータに設定しています。
(jquery.url.jsというプラグインを利用しています)
ほかの方法としては<img src="" data-keyword="aaaa" data-cate="1" />と、独自の属性にて値を準備してあげてJavaScriptにて取得してパラメータに設定してあげる方法もあります。
他にもいろいろあると思います。
LancerVIIさん
こんにちは。
動作サンプルまで作って頂いて感激です。
ありがとうございます。
作って頂いたサンプルは私が求めていたそのものでした!
jquery.url.jsを使うとパラメータ取得が簡単なんですね。
aタグに設定したパラメータを検索ワードにMySQLのデータを表示させたりしてAjaxを楽しめそうです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現で、特定の文字列を含...
-
バッチファイル 特定ウインドウ...
-
1枚の画像をクリックすると複数...
-
入力フォームの値をQRコードで...
-
VBA コンボボックスの値をスピ...
-
vbsで図形内テキストの置換方法
-
PYTHONのtkinterについて
-
ワードでA3横の画面にして、文...
-
自作の地図をグーグルマップの...
-
1w=1j.s
-
GASでスプレッドシートの一番上...
-
クライアントサイドとサーバー...
-
PDFを(htmlのように)無限に縦...
-
php コールバック関数
-
ナイトボットのAliasについて
-
これってなんの電話かわかりま...
-
VBAでクイズゲームの作り方
-
以下のURL入れますか?皆さんは↓
-
画像のドットの部分が抜けてい...
-
Chinapost こよパズルどう動か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavascriptからPHPへのAjax通信...
-
jQuery を外部ファイルから呼び...
-
jQueryで外部テキストファイル...
-
jQueryを使いformでsubmitした...
-
AJAX+PHPでセレクトボックスの連動
-
Ajax サーバーに負荷かかります...
-
jQueryのblockUIをformのボタン...
-
ajaxを使ったページがSEOで不利...
-
ajaxでPHPにPOST送信して結果デ...
-
ajax + PHPによるエラーの返し...
-
ajaxでPHPにPOST送信して結果デ...
-
ajaxからphpにpsotしたときの日...
-
jquery,ajaxによるphp通信でnull
-
Ajax を Fetch API に 書き換え...
-
IE8 form action属性をはずす...
-
JQueryの変数の扱いで弱ってい...
-
Ajaxでフォームデータを連続登...
-
jQuery3 reset()が効かない。
-
jqueryでAJAX非同期通信をしてp...
-
Ajax・jQueryでGETとPOSTする方法
おすすめ情報