ロゴ
HOME > jQuery・Javascript > Jquery非同期通信でPHPにフォームデータを渡して処理する

Jquery非同期通信でPHPにフォームデータを渡して処理する

ユーザーがフォームから送信した内容を非同期通信でPHPに渡して処理し、結果を表示するサンプルです。

サンプル

記入した名前をPHP側でくっつけ、フルネームを表示します。なお、無記入で送信すると記入していませんね?と表示されます。

Jquery

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$(function(){
  // $("#button").click(function(){ //これペケ
   
   $(document).on('click','#button',function(e){ // クリックで実行 2014-07-24 修正
      
      var data = $("#form").serialize(); //送信されたデータ
      $.ajax({
         type: "POST",
         url: "02/03.php", //PHPを呼び出す
         data: data, //記入されたデータを渡す
         success: function(xml){
            $(xml).find("item").each(function(){
               var name = $(this).find("fullname").text();
                  if(name){
                     $("#str").html('あなたのフルネームは : '+name);
                  }else{
                     $("#str").html('記入していませんね?');
                  }
            });
         },
         error:function(){
            $("#str").html('処理に失敗しました');
         }
      });
   });
});

PHP

1
2
3
4
5
6
7
8
9
10
<?php
$name = $_POST['name1'].$_POST['name2'];
header("Content-type: application/xml");
echo '<?xml version="1.0" encoding="UTF-8" ?> ' . "\n";
?>
<rss>
  <item>
      <fullname><?php echo $name; ?></fullname>
  </item>
</rss>

PHPでは送信された姓名をくっつけ、XMLファイルとしてそれを表示しています。