javascript側
<form onsubmit ="XMLHttpRequestオブジェクトを作成する関数">
<input type ="text" name ="sample"> ※1
<input type ="submit" value="送信">
</form>
function createHttpRequest(){
if(window.XMLHttpRequest){
return new XMLHttpRequest();
} else if(window.ActiveObject){
try{
return new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
return null;
}
}
}
function XMLHttpRequestオブジェクトを作成する関数(){
var request = createHttpRequest();
request.open("GETやPOST等の指定",URL,同期非同期);
request.setRequestHeader('Content-type','application/x-www-form-urlencoded');
request.onreadystatechange = function(){ ※2
if(request.readyState==4){ ※3
読み込んだときの処理を記述。コールバック関数を指定するなど。
}
}
request.send(データ); ※4
}
※2 readystatechange以外にも以下のようなものがある。
onloadstart, onerror, onabort, onload, onprogress, ontimeout, onloadend
※3 readyStateの4(DONE)とready.statusの200はよく使うので覚えておこう。
※4 何も送らない場合はrequest.send("")またはrequest.send(null)
php側
$phpで使用する変数 = $_POST['sample']; ※1
何らかの処理
echo "{'連想名':$result}";等 ※2
※1
$_はスーパーグローバル変数と言い、javascript側でGETやPOST指定で送った変数を受け取れる。
※2
echoを使って結果を書き出すことで、JSON形式での結果がresponseTextとかに返るのでやりやすい。本例はphpだが、サーバー側に選ぶプログラミング言語やフレームワークによって変わってくる。例えば、node.jsならexpresstとかのモジュールを読み込んで、res.send("hoge")。javaならServlet等をextendsし、レスポンスを書き込む等。
最終更新:2020年11月03日 13:22