###前提・実現したいこと
インクルードしたものをformで飛んできた数字によって切り替えるといった事をajxaで行いたくご質問させていただく次第になりました。
``
受信部分をどのように設定すればよろしいでしょうか?
ご教授宜しくお願いいたします。
form.php
HTML
1<!DOCTYPE HTML> 2<html> 3<head> 4<meta charset="utf-8"> 5<meta name="description" content=""> 6<meta name="viewport" content="width=device-width, user-scalable=yes, maximum-scale=1.0, minimum-scale=1.0"> 7<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script> 8<script type="text/javascript"> 9$(function() { 10 $('input[type=button]').click(function() { 11 // Ajax通信 12 //送信部分 13 $.ajax({ 14 url : 'check.php', 15 type : 'post', 16 dataType : 'json', 17 data : { 18 val: $('input[type=button]').val()//項目名:データ 19 } 20 }) 21 //受信部分 22 .done(function(response) { //responseは変数名responseが戻り値受領用変数,自動的に連想配列になっている 23 if(response.res==1) { 24 $('div').html('');//ここに何かを入れる。 25 }elseif(response.res==2) { 26 $('div').html('');//ここに何かを入れる。 27 } 28 }else{ 29 $('div').html('');//ここに何かを入れる。 30 } 31 }) 32 .fail(function() {//エラーが起きた場合 33 alert('通信失敗') 34 }); 35 }); 36}); 37</script> 38<title>切り替え画面</title> 39</head> 40<body> 41 <form class="form_left" method="POST" action="form.php"> 42 <input type="button" value="1"> 43 <input type="button" value="2"> 44 </form> 45 <div id="prices_select"> 46 <?php include('check.php');//切り替え要素 ?> 47 </div> 48</body> 49</html>
check.php
PHP
1<?php 2//データ受領はPOSTでOK 3$val=htmlspecialchars($_POST['val']); 4 5//データベース検索 6if($val==1){ 7 $cnt[]=1; 8 //それともここに何かを入れる? 9}if($val==2){ 10 $cnt[]=2; 11 //それともここに何かを入れる? 12}else{ 13 $cnt[]=3; 14 //それともここに何かを入れる? 15} 16 17//結果戻し 18header('Content-type: application/json charset=utf-8'); 19$res=array('res' => $cnt); //返信データを連想配列にセット 20echo json_encode($res); //連想配列をJSONで戻す 21?>
素人で大変申し訳ありません。。。
皆様よりご指摘いただいた事もあり文の追加をさせていただきます。
今回質問した目的が
最終的にはウインドウのサイズにより読み込むインクルードを切り替えるといった事が目的でした。
さらに手動でサイズも変更した際にも切り替わる。といったプログラムを作ろうと思っておりました。
その際サイズを手動で動かした際に読み込むインクルードを変更するにはまた再度サーバーに通信をしなくてはならないと思いその際ajax以外の手法が思いつかずajaxを使う流れになったのですがその際ajxaに関しての知識が全くなくどのようにすればよいのかわからずこういった質問になってしましました。
大変申し訳ありません。
もし意図が伝わっておりご教授いただける点がありましたらお手数とはなりますが宜しくお願いいたします。。。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/22 08:31