異なるサーバー間で非同期通信を行う

2014-10-04

異なるサーバー間で非同期通信を使ったデータのやり取りは出来ませんが、出来ない事も有りません。ただし、出来るからといって重要な情報をやり取りするような事は避けるべきで有る事を肝に命じて下さい。

サンプル

サンプルはhttp://php-powered.net/sample/keisan.phpへ数値を渡し、足した値を受け取り、表示するといった簡単なものです。

jQuery(document).ready(function(){
  $(document).on('click','#button',function(){
      $.ajax({
          type: "POST",
          url: "proxy.php",
          data: "num1="+$("#num1").val()+"&num2="+$("#num2").val(),
      }).done(function(xml){
            var total = $(xml).find("total").text();
            $("#total").text('計算結果は['+total+']です!');
      }).fail(function(data){
          $("#total").text('Error');
      });
    
  });
});

proxy.php

<?php
$url = "http://php-powered.net/sample/keisan.php?num1=".$_POST['num1']."&num2=".$_POST['num2'];
$xml = file_get_contents($url);
header("Content-type: application/xml; charset=UTF-8");
print $xml;
?>

フォームの値をいったん、自サーバー側のPHPに渡し、そこから別サーバーへGETで値を渡しているだけです。