PHPにおけるajax応用例

2464 ワード

1、まずajaxオブジェクトを初期化し、複数のajax呼び出しがある場合に初期化できるようにinit関数を確立する必要があります.
//   ajax
function initAjax(){
    var ajax=false;
    try{
        ajax=new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){
        try{
            ajax=new ActiveXObject("Microsoft.XMLHTTP");
        }catch (E){
            ajax=false;
        }
    }
    if(!ajax && typeof XMLHttpRequest!='undefined'){
        ajax=new XMLHttpRequest();
    }
    return ajax;
}</span>

2、GET方式を使う:
    var click_title_id=$(this).attr("id");//       ID
    var url="MainPage.php?title_id="+click_title_id;
    var ajax=initAjax();// ajax     
    ajax.open("GET",url,true);//true       
    ajax.onreadystatechange=function(){
        if(ajax.readyState==4 && ajax.status==200){
            var str=ajax.responseText;//  php     
            $('.show_diary_dir').html(str); 
        }
    }
    ajax.send();
});

phpページでは、データに送信されたデータが受信され、処理されて関連するタイプのデータが返されます.
$title=$_GET["title_id"];
echo json_encode($comment_array)
<span style="font-family: Arial, Helvetica, sans-serif;">//  POST  ,              !!!</span>
<span style="font-family: Arial, Helvetica, sans-serif;">$(".sub_btn").click(function(){</span>
    var comment_content = $("#saytext").val();
    var diary_id=$('#hid_diaery_id').attr("value");
    var url="MainPage_server.php";
    var ajax=initAjax();// ajax     
    var post_str="diary_id="+diary_id+"&comment_content="+comment_content;
    ajax.open("POST",url,true);//true       
    ajax.onreadystatechange=function(){
        if(ajax.readyState==4 && ajax.status==200){
            var str=ajax.responseText;//  php     
            …
        }
    }
    ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//       HTTP   
    ajax.send(post_str);
});

phpは対応するデータを受け入れて処理し、関連するタイプのデータを返す
$diary_id=$_POST["diary_id"];
$comment_content=$_POST["comment_content"];,          
…//    ,      ,  $comment_array
echo json_encode($comment_array);

ajax
; }