�A�ځFAjax��PHP�Ń��b�`�N���C�A���g�i2�j

Ajax���g�����t�@�C���}�l�[�W����PHP�ō�낤


�㌮ ���u
���{PHP���[�U��
2006/4/29

�@ �@�͂��߂�

�@�O�񂩂炸���Ԃ񎞊Ԃ������Ă��܂����B�O��AjaxAC�Ƃ������C�u������p����Ajax���g�p���Ă݂��B����͗\���Ƃ͌�������邪�A�ꕔ�̓ǎ҂��烊�N�G�X�g�̂��������n�I�ȃA�v���P�[�V�����ւ�Ajax��PHP�̎����ɂ‚��ĉ���������Ǝv���B

�@ �@Ajax�~PHP�t�@�C���}�l�[�W�������܂ł̗���

�@�����JavaScript����PHP�ւ̃A�N�Z�X���@�AAjax��p�����t�@�C���}�l�[�W���̎������s���B

JavaScript��PHP�̒ʐM
JavaScript���猩��PHP����̃��N�G�X�g��PHP���猩��JavaScript����̃��N�G�X�g

Ajax���g�킸�Ƀt�@�C���}�l�[�W������낤

Ajax���g��Ȃ���PHP�t�@�C���}�l�[�W���̊T�v�Ǝ����X�^�C��

Ajax���g���ăt�@�C���}�l�[�W������낤
Ajax�ւ̉��ϕ����ƒ��ӓ_�^�t�@�C���}�l�[�W���̐����^Ajax��p�����I�[�v���\�[�X��PHP�A�v���P�[�V�����^phpFreeChat�^���OWeb��phpFreeChat���R�s�[���Ă݂悤

�@ �@JavaScript��PHP�̒ʐM

�@JavaScript�̓u���E�U��Ŏ��s�����C���^�v���^����ł���BPHP�̓T�[�o��Ŏ��s�����C���^�v���^����ł���BJavaScript��PHP�̃��b�Z�[�W�̗���͊�{�I�Ɂ�IT��̂ق��̋L�����Q�l�ɂ��Ă��炤�Ƃ������낤�B

��JavaScript�ł̎�����

�@���L��JavaScript����T�[�o���URL�A�uhttp://www.example.com/ajax/index.php�v�փA�N�Z�X���AHTML��ɑ��݂���ID�ufoo�v�Ƀ��N�G�X�g���ʂ�}������Ⴞ�B

if(window.XMLHttpRequest) {
    ajax = new XMLHttpRequest();
} else if(window.ActiveXObject) {
    try {
        ajax = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
        ajax = new ActiveXObject("Microsoft.XMLHTTP");
    }
}
ajax.open("GET", "http://www.example.com/ajax/index.php");
ajax.onreadystatechange = function() {
    if (ajax.readyState == 4 && ajax.status == 200) {
        var obj = document.getElementById( 'foo');
        obj.innerHTML = ajax.responseText;
    }
}
ajax.send("");
���X�g1�@Ajax�̃N���C�A���g���̎�����

�@��{�I�ɂ͂��ꂾ���ł���B����Ă��邱�ƂƂ��ẮA
  1. XMLHttpRequest�������I�u�W�F�N�g�̃C���X�^���X
  2. �T�[�o�Ƃ̒ʐM����
  3. ��ԊĎ��֐��̍쐬�A�o�^
  4. HTTP���N�G�X�g�̑��M

��4�X�e�b�v�ł���B���L�́�IT���Â��ĐV����Ajax�̐^�������ɂ߂��𕹂��ēǂނƗ������[�܂�Ǝv����B

��XMLHttpRequest�������I�u�W�F�N�g�̃C���X�^���X

�@����͏������򂪂����‚����鏈���ɂȂ��Ă���B���R�̓u���E�U���Ɓi����Ƀo�[�W�������Ɓj��XMLHttpRequest�������I�u�W�F�N�g�̃C���X�^���X���@���Ⴄ���炾�B

�@���̃��W�b�N�͂��܂̂Ƃ��남�܂��Ȃ��̂悤�Ɋo���Ă����Ă��������낤�B

if(window.XMLHttpRequest) {
    ajax = new XMLHttpRequest();
} else if(window.ActiveXObject) {
    try {
        ajax = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
        ajax = new ActiveXObject("Microsoft.XMLHTTP");
    }
}

�@ �@�T�[�o�Ƃ̒ʐM����

�@���ɃE�F�u�T�[�o�Ƃ̒ʐM���@�i�ʏ�GET�APOST���g���j�ƃA�N�Z�X����URL���w�肷��BURL�͂��Ƃ��Ƃ̃h���C������ʂ̂Ƃ�����w�肷�邱�Ƃ͂ł��Ȃ����Ƃɒ��ӂ������B

ajax.open( "GET", "http://www.example.com/ajax/index.php");

�@ �@��ԊĎ��֐��̍쐬�A�o�^

�@����HTTP�T�[�o�Ƃ̒ʐM��Ԃ̊Ď��֐��̍쐬�Ɠo�^���s���B���̕ϐ�ajax�͂����‚��̃v���p�e�B�������Ă���A���̒���1�‚�onreadystatechange������B

�@�����HTTP�T�[�o�Ƃ̒ʐM��Ԃ̕ω�������ƁA�ݒ肳�ꂽ�֐������s�����̂ł���B

�@�ڂ������͂ꂽ�V����UI�v���uAjax�v��ASP.NET�Ŋ��p�������Q�l�ɂ���Ƃ������낤�B

ajax.onreadystatechange = function() {
    if (ajax.readyState == 4 && ajax.status == 200) {
        var obj = document.getElementById( 'foo');
        obj.innerHTML = ajax.responseText;
    }
}

�@ �@HTTP���N�G�X�g�̑��M

�@�Ō�͎��ۂ�HTTP�ʐM���s�����\�b�hsend()���B�����̏ꍇ�����ɂ�null��n���Ă���Ǝv�����A�M�҂����ׂ��Ƃ���null�ł͂Ȃ��󕶎����n�����������Ƃ����L�q�̃y�[�W�����������߁A�M�҂͋󕶎���ɂ��Ă���B

ajax.send("");

�@����͓ǎ҂̊‹��ɍ��킹�Ă��������낤�B

��PHP�ł̎�����

�@����ł�PHP��̎����͂ǂ��L�q����΂����̂��B����͔��ɊȒP�ŁAID�ufoo�v�ɑ}���������e�L�X�g���o�͂��邾���ł���B���̃e�L�X�g��HTML�`���ŋL�q����B

<?php
header( "Content-Type: text/html; charset=UTF-8");
echo "<h1>Hello! World.</h1>\n";
?>
���X�g2�@Ajax�̃T�[�o���̎�����

�@���ɊȒP�ł���B���Ȃ݂�Ajax��p����ꍇ�A�����G���R�[�h��UTF-8�ɂ��Ă������������BAjax�ł͒ʏ�UTF-8��p���邽�߁A�ʏ�UTF-8�ȊO���g�p���Ă���V�X�e���̏ꍇ�Ambstring��iconv�Ȃǂʼn��炩�̎�i�ŕ����G���R�[�h��ϊ����鏈�����K�v�ɂȂ邾�낤�B

1/3

�@INDEX

Ajax���g�����t�@�C���}�l�[�W����PHP�ō�낤
Page1��JavaScript��PHP�̒ʐM��
JavaScript�ł̎�����^XMLHttpRequest�������I�u�W�F�N�g�̃C���X�^���X�^�T�[�o�Ƃ̒ʐM�����^��ԊĎ��֐��̍쐬�A�o�^�^HTTP���N�G�X�g�̑��M�^PHP�ł̎�����
  Page2��Ajax���g�킸�Ƀt�@�C���}�l�[�W������낤��
Ajax���g��Ȃ���PHP�t�@�C���}�l�[�W���̊T�v�Ǝ����X�^�C��
�@ Page3��Ajax���g���ăt�@�C���}�l�[�W������낤��
�ǂ���Ajax�ɂ��邩�^���ϕ����^���ӓ_�^�t�@�C���}�l�[�W���̐����^Ajax��p�����I�[�v���\�[�X��PHP�A�v���P�[�V�����^phpFreeChat�^���OWeb��phpFreeChat���R�s�[���Ă݂悤


HTML5 + UX �t�H�[���� �V���L��
��IT���[���}�K�W���@�V������X�^�b�t�̃R���������[���œ͂��܂��i�����j

���ڂ̃e�[�}

HTML5�{UX �L�������L���O

�{�� ����