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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章