セレクトボックスの値を受け取りPOST送信
<HTML側>
function SelValue(){
var x = $('#category1').val();
$.ajax({
type: "POST",
url: "category.php",
data: {"prm":x},
dataType: "json",
success: function(data, status){
alert(data.address1 + data.address2);
},
error: function(XMLHttpRequest, status, errorThrown){
alert("エラーが発生しました!");
}
});
}
以下category.php
if(!$_POST)
header("Location: input.php");
$CATEGORY2 = array(
1 =>array(
1 => "a",
2 => "b",
3 => "c",
),
2 => array(
1 => "d",
2 => "e",
3 => "f",
),
3 => array(
1 => "g",
2 => "h",
3 => "i",
),
);
$ary = array();
if($_POST["prm"]){
for($i=1;$i<=3;$i++){
foreach($CATEGORY2[$i] as $key => $value){
if($key == $_POST["prm"])
$ary = $CATEGORY2[$i];
}
}
}
json_encode($ary);
としています。
PHPにPOSTしたデータも確認できないし
jsonデータを表示できないです。
どのようにしたらいいかわかりません。
ajax初心者でわからないことだらけです。
教えてください。
No.2ベストアンサー
- 回答日時:
No1 回答の補足(確認)です。
・jQueryライブラリーを使っているのですよね。
・var x = $('#category1').val();で、セレクトボックスで選んだ
value値がxにきちんと取れてますよね。(xは"1"か"2"か"3"のはず)
※この部分があやしそうですが、ご提示の部分だけではわかりかねます。
x="1";とかしてまずテストしてみて下さい。
・url: "/php/category.php",はurl: "category.php",に戻し忘れました。
・ご提示のalert(data.address1 + data.address2);ですが、
address1とかaddress2はどこにも登場していません。いきなり出てきてます?
この回答への補足
・jQueryライブラリーを使っているのですよね。
→jquery.jsを利用しています。
・・var x = $('#category1').val();で、セレクトボックスで選んだ
value値がxにきちんと取れてますよね。
→alert(x);とすると選択したセレクトボックスのvalueが表示されています。
・ご提示のalert(data.address1 + data.address2);ですが、
address1とかaddress2はどこにも登場していません。いきなり出てきてます?
→参考としたサイトの表記の消し忘れです。すみません。
1.現在の段階でpostされた数値の確認ができない。
2.何度やってもエラーのレスポンスしか帰ってこない。
という状況です。
何がおかしいのかもわからなくなってきました。
よろしくお願いします。
原因がわかりました。
category.phpの
配列を作成する部分がおかしかったです。
$ary = array();
if($_POST["prm"]){
for($i=1;$i<=21;$i++){
if($i ==$_POST["prm"] )
$ary = $CATEGORY2[$i];
}
}
こうすればよかったんです。
すみません。
本当に助かりました。
次はDOMでセレクトボックスの作成です。
No.1
- 回答日時:
==========================
javascript側
==========================
function SelValue(){
var x = $('#category1').val();
$.ajax({
type: "POST",
url: "/php/category.php",
data: {"prm":x},
dataType: "json",
success: function(data, status){
alert("key=1の値" + data["1"] );
alert("key=2の値:" + data["2"] );
alert("key=3の値" + data["3"] );
},
error: function(XMLHttpRequest, status, errorThrown){
alert("エラーが発生しました!");
}
});
}
========================
category.php
========================
<?php
$CATEGORY2 = array(
1 =>array(
1 => "a",
2 => "b",
3 => "c",
),
2 => array(
1 => "d",
2 => "e",
3 => "f",
),
3 => array(
1 => "g",
2 => "h",
3 => "i",
),
);
$ary = array();
if($_POST["prm"]){
for($i=1;$i<=3;$i++){
foreach($CATEGORY2[$i] as $key => $value){
if($key == $_POST["prm"])
$ary = $CATEGORY2[$i];
}
}
}
echo json_encode($ary);
?>
です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP ランキングを表示する際の画像の大きさを固定することは可能でしょうか? <?php if ( has_ 1 2022/07/21 14:55
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP php ログイン 1 2022/11/01 00:24
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jQuery,Ajaxでcgiに接続する方...
-
jQuery を外部ファイルから呼び...
-
AjaxでJSONを受信すると、文字...
-
jQueryで外部テキストファイル...
-
JavascriptからPHPへのAjax通信...
-
div要素の入れ替え。半透明イメ...
-
階層別の組織図の自動作成について
-
Javascriptを使ってQRコード読...
-
Doctrineのjoinについて
-
カンマ区切りのデータを配列に...
-
JScriptでDBへの接続方法について
-
アコーディオンで多階層のメニ...
-
readyStateが4にならない原因
-
迷路探索プログラムを作るには...
-
ローカルでのonreadystatechang...
-
.txtファイルの読み込み
-
インラインフレームを自動更新...
-
googleマップが表示されない。
-
[jQuery UI] sortableを使いaja...
-
JavascriptでObjectからJSON形...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavascriptからPHPへのAjax通信...
-
jQueryを使いformでsubmitした...
-
jQueryのblockUIをformのボタン...
-
AjaxでJSONを受信すると、文字...
-
jQuery3 reset()が効かない。
-
Ajax サーバーに負荷かかります...
-
eval、$.eachで順番が入れ替わ...
-
ajaxからphpにpsotしたときの日...
-
jQuery を外部ファイルから呼び...
-
ajaxでPHPにPOST送信して結果デ...
-
JQueryの変数の扱いで弱ってい...
-
jQuery,Ajaxでcgiに接続する方...
-
Ajax・jQueryでGET時にIE...
-
ajax + PHPによるエラーの返し...
-
jquery × php × mysql 非同期で...
-
Ajaxでフォームデータを連続登...
-
Ajax・jQueryでGETとPOSTする方法
-
ajax&php post 一部更新
-
Selenium4でボタンをクリックで...
-
Javascriptを使ってQRコード読...
おすすめ情報