• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Ajax・jQueryでGETとPOSTする方法)

Ajax・jQueryでGETとPOSTする方法

このQ&Aのポイント
  • AjaxとjQueryを使用してGETとPOSTを行う方法について説明します。
  • GETとPOSTの違いやそれぞれの使用方法について解説します。
  • jQueryとAjaxを組み合わせて、HTMLフォームから値を送信し、サーバーにデータを送る方法について説明します。

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答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にて取得してパラメータに設定してあげる方法もあります。 他にもいろいろあると思います。

hpmt28
質問者

お礼

LancerVIIさん こんにちは。 動作サンプルまで作って頂いて感激です。 ありがとうございます。 作って頂いたサンプルは私が求めていたそのものでした! jquery.url.jsを使うとパラメータ取得が簡単なんですね。 aタグに設定したパラメータを検索ワードにMySQLのデータを表示させたりしてAjaxを楽しめそうです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Ajax・jQueryでGET時にIEで文字化け

    Ajax・jQueryで日本語をGETするとき、IEで文字化けします。 (Firefox,chromeでは文字化けは起こりません。IE6/7/8で確認すると文字化けします) どのようにしたら文字化けが起こらなくなるか教えていただければと思います。 環境 PHP:5.1.6 サーバー・HTMLの文字コードはUTF-8 下記のようなリンクを作り、「jquery.url.js」でパラメータを取得しています。 <a href="./test.php?keyword=テスト&cate=1"> (実際には下記のソースに示しますが、テストの文字はurlencordしています。) 【javascript部分】 <script type="text/javascript" src="jquery.url.js"></script> <script type="text/javascript"> $().ready ( function() { $('#sample-get').find('a').click ( function() { var url = $.url ( $(this).attr('href') ); $.ajax ({ type: 'GET', url: 'send.php', cache: false, data: url.attr ( 'query' ), success: function ( data, dataType ) { $('#test').html ( data ); }, error: function ( XMLHttpRequest, textStatus, errorThrown ) { this; alert('Error : ' + errorThrown); } }); return false; }); 【HTML(PHP)部分】 $keyword='テスト'; $keyword=urlencord($keyword);//urlエンコード echo<<<EOF <div id="sample-get"> <a href="./test.php?keyword=$keyword&cate=1"><img src="images/sample1.png" alt="sample1" height="200" width="200"></a> </div> EOF; 【PHP部分(send.php)】 <?php echo $_GET['keyword']; echo urldecord($_GET['keyword']); echo $_GET['cate']; ?>

    • ベストアンサー
    • AJAX
  • jQueryでGETだと送信できるデータがPOSTだと送信できません。

    jQueryでGETだと送信できるデータがPOSTだと送信できません。 jQueryをつかって文字列をPHPに送信したいのですが、GETでは送信できるのにPOSTだと送信ができません。 js -------------------- $.ajax({ type:"POST", //GETだと送信できます。 url:"hoge.php", data:{data:"hoge"}, success:function(data,status){ alert(data); } }); -------------------- php -------------------- <?php $_POST[data] //GETの場合、$_GET[data] == "hoge"。 echo $data; ?> -------------------- 問題点がわかりましたらご指摘いただければと思います。

  • ajaxの結果をphpで取得する方法

    お世話になっております。 PHPは全くの初心者ですが、jqueryのajaxでGETした内容を PHPでも使用したく、ご教示願いたいのですが、 以下のajaxの「info.a」の値をphpで使用するには どうすればよいでしょうか。 $.ajax({ type: 'GET', scriptCharset:'utf-8', url: '/hoge.jsp', dataType: 'text', cache : false, }) .success(function(data){ var data = data.split(','); info = { a :data[0], b :data[1], }; }) .error(function(XMLHttpRequest, textStatus, errorThrown) { return false; }); <?php $a = $_GET['info.a']; ?> 何卒よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • jquery,ajaxによるphp通信でnull

    初めまして。 現在jqueryを勉強中の学生です。 いろいろなサイトを参考にしつつ、試しににjquery・ajaxを使ったphpとの通信を試みているのですが、文字列のやりとりがうまくいきません。 数字ではうまくいくのですが、文字になるとalertの部分でnullと返されてしまいます。 アドバイス等頂ければと思います。 よろしくお願いいたします。 以下部分的ではありますがコードを示します。 (jqueryはjquery-1.11.1.min.jsを使用) [js] $.ajax({ type: "POST", url: "step1.php", data: send_data, success: function(receive_data) { var parseAr = JSON.parse(receive_data); alert(parseAr[0]['name']); }, error: function(XMLHttpRequest, textStatus, errorThrown) {alert('Error: ' + errorThrown); } }); return false; [php側] <?php if(isset($_POST['name'])) { $result = array(); $result[] = array('name'=>'織田', 'age'=>'33'); $result[] = array('name'=>'織田', 'age'=>'33'); echo json_encode($result); } else { echo json_encode('The parameter of "name" is not found.'); } exit; ?>

  • ajaxのget/post処理速度

    ユーザインタラクティブなWebプログラムをPHP5.2で作ってWindowsXP/Apahe2.0のlocalhostで動かしていますが、サーバ側にあまり負担のかからない処理の場合、Ajax(JQuery,JQuery.formプラグイン)のGET/POSTは通常のGET/POSTに比べてResが帰ってくるのが明らかに遅いのですが、これは一般的なことでしょうか? Ajaxが遅い原因としてどんなことが考えらるでしょうか? Ajaxの処理速度を上げる方法があれば教えて下さい。 よろしくお願いします。

  • jquery ajax 外部html 読み込み

    現在、数年前にjquery(v1.4.3)を用いて制作したページの更新を行っており それに伴いjqueryも最新版(v1.11.1)への移行を試している最中なのですが ajaxの外部htmlを読み込む処理が実行されなくなり困っております。 旧バージョンとではメソッドの記述法が異なることは理解できておりますが 色々と書き換えてみたものの、以前のように動作させる事ができません。 以下がそれぞれの記述になりますが、もし問題にお気付きになられましたら ご指摘いただけますと幸いです。 jquery(v1.4.3): function loadAdd(obj){ $.ajax({ async: true, type: 'GET', url: tgtURL, dataType: 'html', cache: false, success: function(html){ var $div = $("#add"); $div.html(html); }, error: function(xhr, status, errorThrown){ alert("not found."); } }); } jquery(v1.11.1): function loadAdd(obj){ $.ajax({ async: true, type: 'GET', url: tgtURL, dataType: 'html', cache: false, }) .done(function(html){ var $div = $("#add"); $div.html(html); }) .fail(function(xhr, status, errorThrown){ alert("not found."); }); }

    • ベストアンサー
    • AJAX
  • jQuery $.ajax JSON形式のPOST

    jQuery $.ajax JSON形式のPOSTでフォーム内容を送信し、送信先のPHPでメール送信させるプログラムをかいているのですが、どうしても$.ajaxのerrorが呼び出される状況です。errorが呼び出されますが、PHPの方のメール送信はできております。 PHP側の出力がうまくいっていないのではないかと思いますが、原因がわかりません。どなたかご教授いただけないでしょうか?宜しくお願いします。 ---js--- $("#send").click(function(){ var NAME = $('#name').val(); var EMAIL = $('#email').val(); var TITLE = $('#titlel').val(); var COMMENT = $('#comment').val(); $.ajax({ url : "sendmail.php", dataType : "json", data : {name:NAME, email:EMAIL, title:TITLE, comment:COMMENT}, type : "post", success : function(data){ if(data != ''){ alert(data.result); } }, error : function(){ alert("通信に失敗しました。"); } }); }); ---sendmail.php--- if($_SERVER["REQUEST_METHOD"] != "POST"){ header("HTTP/1.0 404 Not Found"); return; }else{ //メール送信処理 (省略) $message = "送信完了メッセージ"; $result = array('result' => $message); echo json_encode($result); }

  • jQuery Ajaxでクロスドメイン通信

    jQuery Ajaxでクロスドメイン通信をやりたいのです以下の質問について教えて下さい。 AjaxからPHP(別ドメイン)にデータをPOSTで投げたいです。 PHPファイルがあるディレクトリはBasic認証してあります。 質問1. AjaxのdataTypeオプションは、PHPからjQueryが受け取るレスポンスのデータタイプのことですか? それともjQueryからPHPからにデータを投げる場合にもこのタイプ指定で何か変わるのでしょうか? 質問2. クロスドメイン通信をdataTypeがjsonpじゃないとクロスドメイン通信はできないのでしょうか? 質問3. dataTypeがjsonpのとき、jQueryから投げるURLの末尾に?data=hogehogeのようにパラメータが付きます。 typeオプションをPOSTにしているのにGETのようにパラメータが付くのはなぜでしょうか? これのせいで、数千文字のパラメータをPOSTできずGETの文字数制限でエラーになってしまいます。 どれは一つでもおわかりでしたらお教え下さい。 よろしくお願い致します。

  • jQueryでajax

    ajax(jQuery使用)を使った以下のサンプルは、 セレクトボックスを選択すると、ボタンを表示するのですが、 そのボタンをクリックしても、アラート(This is success!)が表示されません。 ajaxで吐き出した<button>ボタン</button>のボタンのクリックイベントが 検知しないような感じですが、いったいどこが間違っているのかわかりません。 どなたか、ご教授いただけると助かります。 htmlソース ------------------------------------------- <meta http-equiv="content-script-Type" content="text/javascript" /> <meta http-equiv="content-style-Type" content="text/css" /> <link rel="stylesheet" href="./photo.css" media="all" /> <title> テスト</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $("button").click(function() { alert("Test is success!"); }); $(".first").change(function() { var param = ''; $.ajax ({ type: "POST", url: "ajax.php", data: param, cache: false, success: function(res) { $("#result").html(res); } }); }); }); </script> </head> <body> <select name="first" class="first" id="first"> <option value="1">項目1</option> <option value="2">項目2</option> </select> <p>結果:</p> <div id="result" style="width:808px;"></div> </body> </html> phpソース ---------------------------------------- <?php echo '<button>ボタン</button>'; ?>

    • ベストアンサー
    • AJAX
  • JQueryでAjax通信をキャンセルした時につて

    JQueryでAjax通信時に、abort()でキャンセルを行うと通信はキャンセルになっているようですが、 サーバー側(Ajaxで呼ばれた処理)は、最後まで処理されてしまいます。 abort()を実行させた時に、サーバー側の処理まで中断させる方法はありますでしょうか? 実行と中止は以下のような感じで書いています。 Ajax実行 arrXhr = $.ajax({ dataType: "json", type: "POST", url: "xxxxxxx.php", async: true, cache: false, data: sendData, success: function ( data ) { }, error: function ( XMLHttpRequest, textStatus, errorThrown ) { } }); 中止 xhr.abort();

このQ&Aのポイント
  • 購入したオーディオ二分配ケーブルを使用してヘッドセットやイヤフォンを接続しているが、マイク入力ができない問題が発生している。
  • オーディオ二分配ケーブルをかませることで音声が入力されなくなってしまっているため、なぜこのような現象が起きるのか理解できておらず、解決策を求めている。
  • 直接ヘッドセットをPCに接続すると音声が入力されるため、問題はオーディオ二分配ケーブルにある可能性が高いと考えている。解決方法を知っている方は教えていただきたい。
回答を見る

専門家に質問してみよう