���I�ȃe�[�u����������



�@�O���́AAjax�����Sync(����)��Async(�񓯊�)�ɂ‚��ĉ�����܂����B����́A��{�I�ȕ����Ƃ����܂����A����́A�܂������A���ۂ̃T���v���֖߂���Ajax���g���Ă݂܂��B

�@�ȑO�ADOM�̉���̒��ŁA���ѕ\�e�[�u����z��f�[�^�ŏ�����������̂������‚�����܂����B���Ƃ��΁A �u �{�^���N���b�N��td�^�O���̕���������������v����́A�񎟌��z��ŗp�ӂ����A���O�Ɛ��т̃f�[�^��DOM�Ńe�[�u���֗������ނƂ�����������Ă��܂��B

�@����́A���̔z��f�[�^���A�T�[�o�[�֕ʃt�@�C���Ƃ��ėp�ӂ��āA�y�[�W�\�z��̍D���ȃ^�C�~���O��Ajax���瓮�I�ɓǂݍ���ł���A�e�[�u���֗������ށA�Ƃ������Ƃ������Ă݂܂��傤�B



  • 1: �Ƃ肠�����A�̊����Ă݂悤


    �@���̃T���v���́u�Z���v�u����v�Ȃǂ̃����N�ɐG��ƁA���ѕ\���؂�ւ��܂��B�������A�؂�ւ��f�[�^�́A���̃y�[�W���ɂ͖����A���I�ɕʃt�@�C������ǂݍ��܂�Ă��܂��B�������AAjax�Ȃ̂ł��B

    �Z�� | ���� | ���� | �Љ� | �p�� | | ���~�� | ������ |


    �@���̍�Ƃ́AAjax�ɂ�铮�I�ȃ��[�f�B���O�̗����̖��ɗ��‚Ǝv���܂��B�������A���ꂾ���ł͂Ȃ��A�ǂݍ��ރT�[�o�[���̃f�[�^��PHP��Perl/Java�Ȃǂ́u���I�ȏo�͂ɕς������ɋN���邱�Ɓv�ɂ‚��Ă̗����ɂ��𗧂‚Ǝv���܂��B

    �@�‚܂�A�T�[�o�[����A���̂悤�ȁA�z���I�u�W�F�N�g�ȃf�[�^�̌`���i���Ƃ���JSON�j�ŏo�͂��A�N���C�A���g�Ƙb���ł���Ƃ������Ƃ́A���܂܂�PHP��Perl�AJava�Ȃǂōs���Ă����uHTML���v�Ȃǂ̏����̑唼���A�N���C�A���g���ɓn���Ă��A���v�Ƃ������ƂȂ̂ł��B

    �@����́A�T�[�o�[�ɂƂ��āA���Ƃ��΁A�N���C�A���g1000�l�̂��߂ɍs���Ă����uHTML����Ƃ���̊J���v���Ӗ����邷�邾���ł͂Ȃ��A���M�f�[�^�̃T�C�Y������HTML��XML�ł͂Ȃ��u�f�[�^���̂��̂����Ɉ��k�v���Ă���܂��B

    �@�����āA���܂ŁA�\�͂�]�点�āA�قƂ�ǖ��ʂɖ����Ă����A1000��̃N���C�A���gPC���A�T�[�o�[�ɑ҂�����邱�Ɩ����A����a�؂��Ȃ��A�󂯎�����y�ʃf�[�^����HTML����u�Ń����_�����O���܂��B

    �@���ꂪ�AAjax�̑�햡�̈�‚ł��傤�B

    ����u���E�U
    win mac linux
    n7m1e6o7o8 n7m1e5s1 n7m1k3
    �������~�� �����~�� ������


    �@�g�����\�[�X�́A���L�̒ʂ�ł��B

    �yJavaScript���z
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta http-equiv="content-script-type" content="text/javascript">
    <!-- �b��Ajax���C�u������ǂݍ��� -->
    <script type    = "text/javascript" 
            charset = "utf-8"
            src     = "./jslb_ajax03.js"></script>
    <script language="JavaScript">
    <!--
    	////
    	// ��M���ɋN������R�[���o�b�N�֐�
    	//
    	// @sample onloaded(res)
    	// @param res ���X�|���X
    	//
    	function onloaded(res)
    	{
    	  alert( "����M���܂��� : " + res.responseText  )
    	}
    	////
    	// ���M�����p�֐�
    	//
    	// @sample sendData(true)
    	// @param async	�񓯊��Ȃ�true �����Ȃ�false
    	//
    	function sendData(async)
    	{
    	  //���M
    	  sendRequest( onloaded,'','GET','./about1.php',async,true )
    	}
    //-->
    </script>
    <form name="test1">
    <b>�ySync(����)�z</b>
    <br>
      <input type    = "button"
             value   = "����"
             onclick = "sendData(false)">
    <br><br>
    <b>�yAsync(�񓯊�)�z</b>
    <br>
      <input type    = "button"
             value   = "�񓯊�"
             onclick = "sendData(true)">
    </form>
    
    �@
    �y����̎b��Ajax�p���C�u�����zjslb_ajax04.js
    �O�񗘗p�����b�胉�C�u����jslb_ajax03.js��setRequestHeader()��open()�̑O�ɏ�����Ă������߁A POST���ɓ���s�ǂ��N����܂����̂ŁAjslb_ajax04.js�ɏC�����܂����B ����Ajax���C�u�����́A����������C�����܂��̂ł��炩���߂��������������B
    ////
    // �b���Ajax�p���C�u���� jslb_ajax04.js
    // �ŐV���� http://
    // 
    ////
    // XMLHttpRequest�I�u�W�F�N�g����
    //
    // @sample oj=createHttpRequest()
    // @return XMLHttpRequest�I�u�W�F�N�g
    //
    function createHttpRequest()
    {
    	if(window.ActiveXObject){
    		 //Win e4,e5,e6�p
    		try {
    		  return new ActiveXObject("Msxml2.XMLHTTP") ;
    		} catch (e) {
    		  try {
    		    return new ActiveXObject("Microsoft.XMLHTTP") ;
    		  } catch (e2) {
    		    return null ;
     		  }
     		}
    	} else if(window.XMLHttpRequest){
    		 //Win Mac Linux m1,f1,o8 Mac s1 Linux k3�p
    		return new XMLHttpRequest() ;
    	} else {
    		return null ;
    	}
    }
    ////
    // ���M�֐�
    //
    // @sample sendRequest(onloaded,'&p;=1','POST','./about2.php',true,true)
    // @param callback ��M���ɋN������֐���
    // @param data	 ���M����f�[�^
    // @param method "POST" or "GET"
    // @param url���N�G�X�g����t�@�C����URL
    // @param async	�񓯊��Ȃ�true �����Ȃ�false
    // @param sload	�X�[�p�[���[�h true�ŋ����A�ȗ��܂���false�Ńf�t�H���g
    //
    function sendRequest(callback,data,method,url,async,sload)
    {
    	//XMLHttpRequest�I�u�W�F�N�g����
    	var oj = createHttpRequest()
    	if( oj == null ) return null
    	//�������[�h�̐ݒ�
    	var sload = (!!sendRequest.arguments[5])?sload:false;
    	if(sload)url=url+"?t="+(new Date()).getTime()
    		//�u���E�U����
    	var ua = navigator.userAgent
    	var safari	= ua.indexOf("Safari")!=-1
    	var konqueror = ua.indexOf("Konqueror")!=-1
    	var mozes	 = ((a=navigator.userAgent.split("Gecko/")[1] )
    			?a.split(" ")[0]:0) >= 20011128 
    	//��M����
    	//opera��onreadystatechange�ɑ��d���X�o�O������̂�onload�����S
    	//Moz,FireFox��oj.readyState==3�ł���M����̂Œʏ��onload�����S
    	//Win ie�ł�onload�͓��삵�Ȃ�
    	//Konqueror��onload���s����
    	//�Q�lhttp://jsgt.org/ajax/ref/test/response/responsetext/try1.php
    	if(window.opera || safari || mozes){
    		oj.onload = function () { callback(oj) }
    	} else {
    		oj.onreadystatechange =function () 
    		{
    			if ( oj.readyState == 4 ){
    				callback(oj)
    			}
    		}
    	}
    	if(method == 'POST') {
    		//���̃��\�b�h��Win Opera8�ŃG���[�ɂȂ����̂ŕ���
    		if(!window.opera)
    			oj.setRequestHeader('Content-Type', 
    				'application/x-www-form-urlencoded')
    	} else if(method == 'GET') {
    		url=url + encodeURI(data)
    	}
    	//open ���\�b�h
    	oj.open( method , url , async )
    		//send ���\�b�h
    	oj.send(data)
    }
    
    �@
    �y�T�[�o�[���z
    <?php
    	//4�b�X���[�v
    	sleep(4);
    	//�o�͂��镶���R�[�h��utf-8�ɃZ�b�g���āA�A�A
    	mb_http_output ( 'UTF-8' );
    	//�o��
    	echo " Woke up ! This is a response. " ;
    ?> 
    
    �@���̃T���v���ł́A�u�����v�{�^���������ƁA�������[�h�Ń��N�G�X�g�����M����A�u�񓯊��v�{�^���������ƁA�񓯊����[�h�Ń��N�G�X�g�����M����܂��B

    �@�T�[�o�[�ł́A4�b�ԃX���[�v(��~)�������ƁA���̃��N�G�X�g�ɑ΂��郌�X�|���X�Ƃ��āu Woke up ! This is a response. �v�Ƃ���������𑗏o����d�|���ɂȂ��Ă��܂��B

    �@�������[�h�ł́A���N�G�X�g���M��A���X�|���X���A���Ă���܂ŁA�u���E�U�̓��b�N�����̂ʼn����ł��Ȃ��Ȃ�܂��B����ɑ΂��āA�񓯊����[�h�ł́A���N�G�X�g���M��A���X�|���X���A���Ă��Ȃ��Ă��A�����Ɏ��̍�ƂɂƂ肩���邱�Ƃ��ł��܂��B

    �@���̃T�[�o�[�Ƃ̂���藬��ɂ‚��ẮA�O�X����Љ���AJesse James Garrett���ɂ�� ���(�a��)�́w�} 2: �`���I�� Web �A�v���P�[�V�����ɂ����铯���^�̂��Ƃ�i��j�ƁAAjax �A�v���P�[�V�����ɂ�����񓯊��^�̂��Ƃ�i���j�x���Q�l�ɂȂ�ł��傤�B

    �@�y����̎b��Ajax�p���C�u�����zjslb_ajax03.js�̒��̎�M�����Ȃǂɏ������܂�Ă���u���E�U����̍����́A ���X�|���X�̃^�C�~���O�ɂ‚��Ă�(�u���E�U���Ƃ̈Ⴂ�ɂ‚��Ă�)�����Ȃǂ̌��ʂɊ�Â��Ă��܂��B

    �@���ɁA���N�G�X�g���M��A���b�N�����ɓ���ł���T���v���Ƃ��āA�O������p�����v���O���X�o�[��g�ݍ��킹�Ă݂܂��B



    JavaScript�̃p���_�C���V�t�g�uAjax�v |
    Ajax�͂��߂̈�� XMLHttpRequest |
    �O��FRSS���[�_�[����� |