Ajax兩種實現方式

(一)原生的Ajax

<script>
    function db1() {
        var xmlhttp;
        if (window.XMLHttpRequest)
        {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
        }
        else
        {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.open("POST","http://localhost/protected/modules/houtai/views/jewelry/dbdetail.php",true);
        xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");//需要加表頭
        xmlhttp.send("&shopid=" + $('#inputid').val());

        xmlhttp.onreadystatechange=function()//服務器響應,上面的user自定義名,id是值
        {
            if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {
                var respone = xmlhttp.responseText;//獲得服務器返回值
                alert(respone);
            }
        }

    }
    </script>

後臺服務器響應

$a=123;
echo $a;


(二)JQuery的AJAX

<script>
    $(function () {
        $('#save').click(function () {
            $.ajax({
                type: "POST",
                url: "http://localhost/protected/modules/houtai/views/jewelry/dbdetail.php",
                data: "&shopid=" + $('#inputid').val(),//+"&changeid="+456+"&mem_id="+123 ,
                success: function (a) {
                    alert(a)
                    // $('#city').html(str);
                }, dataType: 'json'
            })
        })
    })
</script>

後臺服務器響應

$a=123;
echo json_encode($a);

需要注意的點:

其中傳遞值下標之前必須加個&

例如:

xmlhttp.send("&user="+id+"&mem_number="+mem_number+"&hld_num"+hld_num);

這種傳遞過去的是數組分別是$POST['user']=id

                                             $POST['mem_number']=mem_number

                                             $POST['hld_num']=hld_num

如果不加& 傳遞過去的是:$POST['user']=idmem_numbermem_numberhld_numhld_num這樣的一個字符串。


發佈了55 篇原創文章 · 獲贊 32 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章