1 | RESULT_PAGE_PHP = 'result.php'; // 結果ページ表示PHP
|
---|
2 | CREATE_IMAGE_PHP = 'create_image.php'; // 画像生成PHP
|
---|
3 | RESULT_TEXT_ID = 'result'; // 結果文字表示場所ID(HTMLで定義)
|
---|
4 | CODE_IMG = 'code'; // コード表示IMGタグのID
|
---|
5 |
|
---|
6 | // ブラウザによってXmlHttpRequestのObjectを振り分ける
|
---|
7 | function getXmlHttpRequestObject() {
|
---|
8 | if (window.XMLHttpRequest) {
|
---|
9 | // Mozilla, Safariなど
|
---|
10 | return new XMLHttpRequest();
|
---|
11 | } else if (window.ActiveXObject) {
|
---|
12 | // IE
|
---|
13 | return new ActiveXObject("Microsoft.XMLHTTP");
|
---|
14 | } else {
|
---|
15 | // 非対応
|
---|
16 | alert("ブラウザがXmlHttpRequestに対応していません!!");
|
---|
17 | }
|
---|
18 | }
|
---|
19 |
|
---|
20 | // オブジェクト生成
|
---|
21 | var receiveReq = getXmlHttpRequestObject();
|
---|
22 |
|
---|
23 | // リクエスト処理
|
---|
24 | function makeRequest(url, param) {
|
---|
25 | // 受信完了かまだopenメソッドが呼び出されていない
|
---|
26 | if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
|
---|
27 | // サーバとの通信を開始
|
---|
28 | receiveReq.open("POST", url, true);
|
---|
29 | // サーバーからの応答時の処理を定義(結果のページへの反映)
|
---|
30 | receiveReq.onreadystatechange = updatePage;
|
---|
31 |
|
---|
32 | // ヘッダー定義
|
---|
33 | receiveReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
---|
34 | receiveReq.setRequestHeader("Content-length", param.length);
|
---|
35 | receiveReq.setRequestHeader("Connection", "close");
|
---|
36 |
|
---|
37 | // 送信
|
---|
38 | receiveReq.send(param);
|
---|
39 | }
|
---|
40 | }
|
---|
41 |
|
---|
42 | // サーバーからの応答時の処理
|
---|
43 | function updatePage() {
|
---|
44 | // 受信が完了していたら実行
|
---|
45 | if (receiveReq.readyState == 4) {
|
---|
46 | // 設定したIDへ生成した文字列をセット
|
---|
47 | document.getElementById(RESULT_TEXT_ID).innerHTML = receiveReq.responseText;
|
---|
48 | // コード画像を変化させる
|
---|
49 | img = document.getElementById(CODE_IMG);
|
---|
50 | // キャッシュを回避するためにランダムな値をつける
|
---|
51 | img.src = CREATE_IMAGE_PHP + '?' + Math.random();
|
---|
52 | }
|
---|
53 | }
|
---|
54 |
|
---|
55 | // 認証処理実行
|
---|
56 | function auth(forms) {
|
---|
57 | var postData = forms.input_data.name + "=" + encodeURIComponent( forms.input_data.value );
|
---|
58 | // リクエスト実行
|
---|
59 | makeRequest(RESULT_PAGE_PHP, postData);
|
---|
60 | } |
---|