• ベストアンサー

ajaxでのデータの送信の質問です

ajaxでjavascriptからphpに2つの変数を送りたいのです。 xmlReq.open("GET","main.php?isbn=" + encodeURI(data1),true); xmlReq.send(null); 現在このようにデータを送っているのですがdata2の値も同時にmain.phpに送りたいのです。 当方初心者なので実例で示していただけると嬉しいです。 回答よろしくお願いいたします。

  • AJAX
  • 回答数1
  • ありがとう数2

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.1

xmlReq.open("GET","main.php?isbn="+encodeURI(data1)+"&XXXXX="+encodeURI(data2),true);

関連するQ&A

  • javascriptでポスト送信したデータの受け取り方

    javascriptで下記のようにPOST送信したデータのPHP側での受け取り方 xmlhttp.open("POST","../login/logincheck.php",true); xmlhttp.send("id="+encodeURI("saa")+"&password="+encodeURI("6")); 一応普通にPHP側では以下のように受け取ってみましたが、うまくうけとれていないようなのですが、どうしたらよいでしょうか? $id = $_POST['id']; $keyword = $_POST['password'];

    • ベストアンサー
    • PHP
  • javascript と php とでのデータの受け渡し

    既出の質問かもしれませんが、どの回答を読んでもいまいち理解できなかったので質問させて下さい。 phpからjavascriptへ、その処理結果をphpに送りたいと考えております。 まず phpの変数のデータをjavascriptでクライアント側で処理させるために、 print(<script type='text/javascript'>);~などなど、 printを使ってphpの変数を入れ込んだスクリプトを出力しています。 そして、出力したjavascriptの中にクライアント側の処理後のデータ をphpに送るために、 XmlHttpRequestのopenメソッドで("GET",url,true)とし、 urlには"***.php" + "?a=" + aの値 をいれて request.send(null);で送信するようにしています。 最後に、送信先のphpで $a = $_GET["a"];として受け取ろうとしています。 ちなみに、これらは全て同一ファイル上に書いてあり、 XmlHttpRequestのopenメソッドのurlには、 そのファイル自身を記述してあります。 ブラウザでアクセスしてソースを見てみると、 javascriptは記載されていますが、処理がされていないようで、よって 最後にGETでデータも取得がされていないようです。 そもそもこういったことは可能なのでしょうか? 自分の考え方は間違っているのでしょうか? javascriptもphpも初心者なもので、考え方があっているのかいないのかも 判断できない状況です。また、このjavascriptが何をきっかけに実行されるようにすればいいのかもよくわかりません。 それでは、宜しくお願い致します。

  • POSTだとAjaxをループできない

    <html> <head> <meta http-equiv="content-type" content="text/html;charset=shift_jis"> <title>Ajax</title> <script type="text/javascript"> <!-- function createXMLHttpRequest(cbFunc) { XMLhttpObject = new XMLHttpRequest(); if (XMLhttpObject) XMLhttpObject.onreadystatechange = cbFunc; return XMLhttpObject; } function func() { for (i=0; i<5; i++) { httpObj = createXMLHttpRequest(displayData); if (httpObj) { httpObj.open("GET","file_chk.php?chk=(ファイル名)",true); httpObj.send(null); //httpObj.open("POST","file_chk.php",true); //httpObj.send("chk=(ファイル名)"); } } } function displayData() { if ((httpObj.readyState == 4) && (httpObj.status == 200)) { alert(httpObj.responseText); } } // --> </script> </head> <body> <input type="button" value="Ajax" onclick="func();" /> </body> </html> 先の投稿と似たものになってしまいますが、以上のようなソースのプログラムを組みました。ボタンを押すとAjaxが作動してphpプログラムを呼び出し、その結果を返すというものです。phpプログラムは任意のファイル名を変数として受け取り、その存在の有無によって返事を返すというものです。ソースは以下の通りです。 <? $file = $_GET['chk']; //$file = $_POST['chk']; if (file_exists($file)) { print "true"; } else { print "false"; } ?> このAjaxで問い合わせるという処理全体をループさせたいのですが、コメントアウトしているPOSTで実行するとうまくいきません。1回しかアラートが出なかったり、5回と設定してるのにそれ以上出たり。当初これに悩まされてましたが、GETで試すとうまくいきました。なぜPOSTだとうまくいかなかったのでしょうか?自分なりに考えてみたのですが全く分かりません。ソースのもので試すときは一方のコメントアウトを外し、他方をコメントアウトさせていました。もちろんphpの方も同様です。 GETとPOSTで書いたソースは間違ってませんよね?同じ意味になってますよね?どちらの方法でもいいことはいいんですが、GETだと与えるクエリによっては行が横に長くなってしまいますし、sendがあるのならそこに変数を書いたほうが見やすいのではないかと思ってPOSTを使ってました。

  • Ajaxで変数が受け取れない

    function chk() { var up_file = false; httpObj = createXMLHttpRequest(displayData); if (httpObj) { httpObj.open("POST","file_chk.php",true); httpObj.setRequestHeader("content-type", "application/x-www-form-urlencoded;charset=UTF-8"); httpObj.send("chk=(ファイル名)"); } function displayData() { if ((httpObj.readyState == 4) && (httpObj.status == 200)) { if (httpObj.responseText == "true") { up_file = true; } } } alert(up_file); } } 以上のようなソースのJavaScriptプログラムがあります。Ajaxを使ったもので、phpのプログラムでファイルの有無を調べるというものです。 まず最初に有無の確認用の変数up_fileを設定し、phpを使ったAjaxで検査、Ajaxが作動すると関数displayData()が実行され、ファイルがあればup_fileの値を初期値falseからtrueへ上書きするというものです。 ところがファイルがちゃんとあるのにup_fileの中身はflaseのままなのです。ソースにalertを書いた場所でfalseが返ってきます。その前のスコープ内に入れると、Ajaxで問い合わせるので数回falseが出た後最終的にtrueになります。なのにその1つ後のスコープ内、つまり関数displayData()を抜けた大元の関数chk()内に置くとfalseになってしまうのです。trueにする時varを使ってないのでグローバル変数の書き換えすら可能なはずなのですが・・・。 なぜ変数up_fileの上書きが出来ないのでしょうか?

  • phpからget送信で持ってきたデータの改行

    こんにちは。 phpから取得したデーターをjavascriptに渡して表示したいと考えています。 しかしながらjavascriptで改行ができません。何が原因でしょうか? <send.phpファイル> <?php $date_db="2012/12/03"; .$title_db="テスト"; $comment_db="送信可能"; echo "日時:".$date_db."\nタイトル:".$title_db."\nコメント:".$comment_db; ?> <htmlファイル(一部)> $.ajax({ type: "GET", url: "send.php", data: data, dataType: "text", success: function(data, dataType) { /** Ajax通信が成功した場合に呼び出される */ //初回アクセス時 if(result == null) { result = data; } //PHPより取得した値が違えばメッセージを<div id="text"></div>に出す if(result != data){ alert("情報が更新されました\n情報を確認してください"); $('#text').text(data); result = data; } }, <div id="text"></div> ブラウザ上で表示されると「 日時:2012/12/03タイトル:テストコメント:送信可能」になってしまいます。 お願いします。

  • AJAXとPHPの全角文字の受け渡し

    こんにちは教えてください。 AJAXからPHPを呼んで、PHPから全角文字を受け取ると文字化けしてしまいます。いずれも文字コードはSJISです。例えば下のような感じです。(AsyncRequest()はXMLHttpRequestのオブジェクトを作って返す関数です) 文字化けの原因は何でしょうか? /************************************* JavaScript側 *************************************/ var Async = AsyncRequest(); Async.open( "GET" , "test.php ); Async.send( null ); Async.onreadystatechange = function(){ if( Async.readyState == 4 && Async.status == 200 ){ alert( Async.responseText ); } } /************************************* test.php側 *************************************/ <?PJP Print( "こんにちは" ) ; ?>

    • 締切済み
    • PHP
  • IEでAjax

    現在、以下のソースをもとにAjaxのテストをしているのですが FireFoxだと正常に動作されますが、IE8だと無反応です。 もちろんJavaScriptは有効にしています。 この原因はどこにあるのでしょうか? ■test.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitiona..."> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>テスト</title> <script type="text/javascript"> <!-- var ajax = new XMLHttpRequest(); function makeTable(keyword) {  ajax.onload = function() {   document.getElementById('layerTable').innerHTML = ajax.responseText;  }  ajax.open('GET', 'sample.php?keyword=' + keyword, true);  ajax.send(null); } </script> </head> <body> <h1>Ajaxのテスト</h1> <form id="formMain" name="formMain" method="post" action=""> <p>キーワードを入力して、表示するボタンをクリックしてください。</p> <p> <input type="text" name="keyword" size="35"> <input name="buttonMake" type="button" id="buttonMake" value="表示する" onClick="makeTable(this.form.keyword.value)" /> </p> </form> <div id="layerTable">ここに応答が表示されます</div> </body> </html> ■sample.php <?php $keyword = $_GET['keyword']; $doc = "<b>Ajaxのテストです</b><br />"; $doc .= "キーワードは{$keyword}"; print($doc); ?>

    • ベストアンサー
    • AJAX
  • Ajaxのsendメソッドについて

    Webプログラミング初心者です。 Ajaxにおいて、XMLHttpRequestオブジェクトのプロパティであるsendおよびopenについてお聞きします、GETを使う時にopenメソッドの引数に送信すべき情報を「?キー名=値」の形式でURLの末尾に指定するのは理解できるのですが(結果として表示されるページのURLにその値が含まれているので。)、なぜPOSTを使う時にsendメソッドの引数に「?キー名=値」の情報を入れる必要があるのかわかりません。 GETの時とは違い「?キー名=値」の情報の使い道がない気がするのですが…

  • ajax でのデータ受け渡しに関して

    ajax でのデータ受け渡しに関して わかりにくい内容で申し訳ありません。 現在、PHPで作成されているプログラムの中に、ajaxを組み込みたいと考えています。 処理の動きとしては、あるプルダウンが選択された場合、すぐさまその値をもとにしてDBへ 検索しに行くというものです。 通常、PHPだけの処理の場合、POST等を用いて、ボタンが押されたら違うphpファイルへ値を 送る事が可能かと思われます。 その処理をajax で選択されたらすぐに検索、表示というような動きをしたいと考えて います。 但し、同じソース、画面上の中でなら、以下のような記述で表示させる事は可能かと 思われますが、HTMLで分割した画面で、上段で選択されたプルダウンの値をもとにして、検索 された結果を下段に表示させたいと考えています。 そもそも、ajaxでは同じ画面上での受け渡ししかできず、上記のように分割されたものでは 不可能なのでしょうか。。。 初歩的な内容で申し訳ありませんが、教えて頂きたいと思います。 《記述内容》 ※ 現状では以下のようなサンプル記述をもとに、自画面(同一)上では表示が可能となっています。 <script> function createXMLHttpRequest(){ if( window.XMLHttpRequest ){ return new XMLHttpRequest(); }else if( window.ActiveXObject ){ try{ return new ActiveXObject( "Msxml2.XMLHTTP" ); }catch(e){ return new ActiveXObject( "Microsoft.XMLHTTP" ); } } return null; } function getDataPost( serverURL, objID ,obj){ var ajax = createXMLHttpRequest(); ajax.open( "POST", serverURL ); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.onreadystatechange=function(){ if(( ajax.readyState == 4 ) && ( ajax.status == 200 )){ if(objID!=""){ var obj = document.getElementById( objID ); obj.innerHTML = ajax.responseText; } } } ajax.send( obj.name+"="+obj.value ); } </script> <select name="fuga" onchange="getDataPost('hogehoge.php','hoge',this)"> <option value="">---</option> <option value="1">1</option> <option value="2">2</option> </select> <div id="hoge"></div> よろしくお願いします。

    • ベストアンサー
    • AJAX
  • Ajax以外で、JavaScriptからPHPへ渡

    Ajax通信以外で、JavaScriptからPHPへ変数(配列)を渡したいのですが、 可能でしょうか? 下記のような状態の時、js変数dataを、Ajax通信を利用せずにPHP変数として取得したいのですが、どうすればよいでしょうか? JavaScript関数の中で、PHPフォームの送信ボタンをクリックさせる(ような)ことは出来ないのでしょうか? <button type="button" onclick="testsubmit();">送信</button> <script> function testsubmit(){  js処理;  var data = ★★; } </script> ■最終的にやりたいこと ・ボタンをクリックしたら、js処理で取得したjs変数(配列)を、Ajax通信を利用せずに、PHP変数として受け取りたい ・それを出来れば1クリックで処理したい

専門家に質問してみよう