成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

AJAX異步請(qǐng)求

macg0406 / 359人閱讀

摘要:原生操作異步請(qǐng)求第一步創(chuàng)建對(duì)象判斷用戶的瀏覽器類型,決定使用何種方式對(duì)象感知狀態(tài),當(dāng)狀態(tài)改變是會(huì)觸發(fā)事件當(dāng)前狀態(tài)為時(shí),數(shù)據(jù)接收完畢輸出響應(yīng)信息設(shè)置傳遞的信息小明處理中文亂碼第二步創(chuàng)建一個(gè)請(qǐng)求,并設(shè)置請(qǐng)求地址及異步請(qǐng)求方式第三步發(fā)送請(qǐng)求異步請(qǐng)

原生ajax操作

JavaScript 異步 GET請(qǐng)求

    // 第一步:創(chuàng)建ajax對(duì)象
    //判斷用戶的瀏覽器類型,決定使用何種方式ajax對(duì)象
    if (typeof ActiveXObject != "undefined") {
        var version = [
            "Msxml2.XMLHTTP.6.0",
            "Msxml2.XMLHTTP.5.0",
            "Msxml2.XMLHTTP.3.0",
            "Msxml2.XMLHTTP",
            "Microsoft.XMLHTTP"
        ];
        for (var i = 0; i <= version.length; i++) {
            try {
                var obj = new ActiveXObject(version[i]);
                if (typeof obj != "undefined") {
                    break;
                }
            } catch(ex) {
 
            }
        }
    } else {
        var obj = new XMLHttpRequest();
    }
    
    // 感知ajax狀態(tài),當(dāng)ajax狀態(tài)改變是會(huì)觸發(fā)事件onreadystatechange
    obj.onreadystatechange = function(){
        // 當(dāng)前狀態(tài)為4時(shí),數(shù)據(jù)接收完畢
        if (obj.readyState == 4 && obj.status == 200) {
            // 輸出響應(yīng)信息
            alert(obj.responseText);
        }
    }
 
    // 設(shè)置GET傳遞的信息
    var name = "小明";
    // 處理中文亂碼
    name = encodeURIComponent(name);
    // 第二步:創(chuàng)建一個(gè)HTTP請(qǐng)求,并設(shè)置"請(qǐng)求地址"及異步請(qǐng)求方式
    obj.open("get", "./test.php?fname=" + name + "&addr=beijing", true);
    // 第三步:發(fā)送請(qǐng)求
    obj.send();

JavaScript 異步 POST請(qǐng)求

        // 創(chuàng)建Ajax對(duì)象
        //判斷用戶的瀏覽器類型,決定使用何種方式ajax對(duì)象
        if (typeof ActiveXObject != "undefined") {
            var version = [
                "Msxml2.XMLHTTP.6.0",
                "Msxml2.XMLHTTP.5.0",
                "Msxml2.XMLHTTP.3.0",
                "Msxml2.XMLHTTP",
                "Microsoft.XMLHTTP"
            ];
            for (var i = 0; i <= version.length; i++) {
                try {
                    var obj = new ActiveXObject(version[i]);
                    if (typeof obj != "undefined") {
                        break;
                    }
                } catch(ex) {
 
                }
            }
        } else {
            var obj = new XMLHttpRequest();
        }
        
        // 感知Ajax狀態(tài),當(dāng)Ajax狀態(tài)改變時(shí)會(huì)觸發(fā)事件onreadystatechange
        obj.onreadystatechange = function(){
            // 當(dāng)前狀態(tài)為4時(shí),數(shù)據(jù)接收完畢
            if (obj.readyState == 4 && obj.status == 200) {
                // 輸出響應(yīng)信息
                alert(obj.responseText);
            }
        }
 
        // 創(chuàng)建一個(gè)http請(qǐng)求,并設(shè)置“請(qǐng)求地址”及異步請(qǐng)求方式
        obj.open("post", "./test.php");
        // 設(shè)置HTTP頭協(xié)議信息
        obj.setRequestHeader("content-type", "application/x-www-form-urlencoded");
        var info = "fname=" + "小明" + "&addr=beijing";
        // 發(fā)送請(qǐng)求
        obj.send(info);
jQuery-ajax操作
自行下載并引入jquery:

jQuery 異步 GET請(qǐng)求

// 1.直接請(qǐng)求
// $(function(){
//     $.ajax("./test.php", {
//         data:{name:"tom",age:23},
//         success:function(msg){
//             alert(msg);
//         }
//     });
// });
 
 
// 2.配置setting參數(shù)請(qǐng)求
// $(function(){
//     $.ajax({
//         type:"GET",
//         url:"./test.php",
//         data:{name:"tom", age:23},
//         success:function(msg){
//             alert(msg);
//         }
//     });
// });
 
 
// 3.通過(guò)$.ajaxSetup()方法預(yù)先設(shè)置全局參數(shù)
// $(function(){
//     // 預(yù)先設(shè)置全局參數(shù)
//     $.ajaxSetup({
//         type:"GET",
//         url:"./test.php",
//         data:{name:"tom",age:23},
//         success:function(msg){
//             alert(msg);
//         }
//     });
//     // 執(zhí)行ajax操作,使用全局函數(shù)
//     $.ajax();
// });
 
// 4.利用$.get()方法請(qǐng)求
//只發(fā)送get請(qǐng)求
// $(function(){
//     $.get("./test.php");
// });
 
// 發(fā)送get請(qǐng)求并接受返回結(jié)果
// $(function(){
//     $.get("./test.php", function(msg){
//         alert(msg);
//     });
// });
 
// 發(fā)送請(qǐng)求并傳遞數(shù)據(jù)
// $(function(){
//     $.get("./test.php", {name:"tom",age:23}, function(msg){
//         alert(msg);
//     });
// });
 
// 發(fā)送get請(qǐng)求并傳遞數(shù)據(jù),接受返回結(jié)果,顯示返回格式
// $(function(){
//     $.get("./test.php", {name:"tom",age:23}, function(msg){
//         alert(msg.name + " " + msg.age);
//     }, "json");
// });
 
// 使用$.getJSON()可以實(shí)現(xiàn)同樣的功能
$.getJSON("./test.php", {name:"tom", age:23}, function(msg){
    alert(msg.name + " " + msg.age);
});

jQuery 異步 POST請(qǐng)求




    
    jquery-ajax發(fā)送post請(qǐng)求


 
Ajax無(wú)刷新評(píng)論
  • 姓名:
  • 評(píng)論:
jQuery-ajax&php跨域請(qǐng)求問(wèn)題

第一種方法JSONP

注意:JSONP只支持get請(qǐng)求

1.首先在jquery-ajax配置參數(shù)中添加這兩項(xiàng)
    dataType: "jsonp",
    jsonp: "callback",

例如

        $.ajax({
            type: "GET",
            url: "http://127.0.0.1/ajax2/serverjsonp.php?number=" + $("#keyword").val(),
            dataType: "jsonp",
            jsonp: "callback",
            success: function(data) {
                if (data.success) {
                    $("#searchResult").html(data.msg);
                } else {
                    $("#searchResult").html("出現(xiàn)錯(cuò)誤:" + data.msg);
                }
            },
            error: function(jqXHR){
               alert("發(fā)生錯(cuò)誤:" + jqXHR.status);
            },
        });
2.然后,在php中做修改
$jsonp = $_GET["callback"];
echo $jsonp . "({"success":false,"msg":"參數(shù)錯(cuò)誤"})";  //輸出的字符串前面要拼接上jsonp

第二種方法XHR2

注意:其他瀏覽器都支持,但是IE必須得IE10以上,只需要服務(wù)端接口加上以下頭信息

header("Access-Control-Allow-Origin:*");  //允許所有訪問(wèn)
header("Access-Control-Allow-Origin", "http://my.domain.cn:8080");  //只允許特定域名訪問(wèn)
header("Access-Control-Allow-Methods:POST,GET");    //允許跨域請(qǐng)求的方法,可以做限定
header("Access-Control-Allow-Credentials:true");    //請(qǐng)求的時(shí)候是否帶上cookie信息
JavaScript-ajax請(qǐng)求xml數(shù)據(jù)

xml示例



    
        wendy
        35
        Santa Fe
    
    
        Yaphet
        32
        Balchik
    
    
        Isaiah
        35
        Caldera
    

js示例




    
    Ajax獲取XML信息
    


    

Ajax獲取XML信息

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/99559.html

相關(guān)文章

  • 深入淺出Ajax

    摘要:在接收響應(yīng)期間持續(xù)不斷地觸發(fā)。在請(qǐng)求發(fā)生錯(cuò)誤時(shí)觸發(fā)。在通信完成或者觸發(fā)或事件后觸發(fā)。已經(jīng)接收到部分響應(yīng)數(shù)據(jù)?;跇?biāo)準(zhǔn)被廣泛支持。破壞程序的異常處理機(jī)制。 原文(我的GitHub):https://github.com/liangfengbo/frontend-ability/issues/1 學(xué)習(xí)大綱 理解Ajax的工作原理 Ajax核心-XMLHttpRequest對(duì)象 封裝Aja...

    megatron 評(píng)論0 收藏0
  • 深入了解ajax

    摘要:而由于安全風(fēng)險(xiǎn)的原因,被禁止使用。就好比單線程一樣,請(qǐng)求發(fā)出后就進(jìn)入阻塞狀態(tài),直到解除阻塞,余下的代碼才會(huì)繼續(xù)執(zhí)行。安全問(wèn)題暴露了與服務(wù)器交互的細(xì)節(jié)。破壞了程序的異常機(jī)制。服務(wù)器端暫時(shí)無(wú)法處理請(qǐng)求可能是過(guò)載或維護(hù)。 AJAX全稱Asynchronous JavaScript and XML(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開發(fā)技術(shù)。它有機(jī)地包含了以下...

    zhouzhou 評(píng)論0 收藏0
  • AJAX面試題都在這里

    摘要:常見面試題什么是,為什么要使用是的縮寫。該對(duì)象在中首次引入,它是一種支持異步請(qǐng)求的技術(shù)。頭信息已經(jīng)接收,響應(yīng)數(shù)據(jù)尚未接收。同源策略是客戶端腳本尤其是的重要的安全度量標(biāo)準(zhǔn)。這樣頁(yè)面的所有都會(huì)執(zhí)行這條語(yǔ)句就是不需要保存緩存記錄。 AJAX常見面試題 什么是AJAX,為什么要使用Ajax AJAX是Asynchronous JavaScript and XML的縮寫。他是指一種創(chuàng)建交互式網(wǎng)頁(yè)...

    QiShare 評(píng)論0 收藏0
  • 異步處理方案系列- 1.callback

    摘要:一個(gè)沒(méi)有返回值的函數(shù)執(zhí)行的效果其實(shí)是利用它的副作用一個(gè)沒(méi)有返回值和利用副作用的函數(shù)其實(shí)就是一個(gè)黑洞。 本篇博客尚未上傳 github github 首頁(yè)(star+watch,一手動(dòng)態(tài)直達(dá)): https://github.com/HCThink/h-blog 掘金 link , 掘金 專欄 segmentfault 主頁(yè) 原創(chuàng)禁止私自轉(zhuǎn)載 異步處理方案系列- 1.call...

    anRui 評(píng)論0 收藏0
  • (轉(zhuǎn))JavaScript:同步、異步和事件循環(huán)

    摘要:事件循環(huán)事件循環(huán)是指主線程重復(fù)從消息隊(duì)列中取消息執(zhí)行的過(guò)程。事件觸發(fā)時(shí),表示異步任務(wù)完成,會(huì)將事件監(jiān)聽器函數(shù)封裝成一條消息放到消息隊(duì)列中,等待主線程執(zhí)行。 一. 單線程 我們常說(shuō)JavaScript是單線程的。 所謂單線程,是指在JS引擎中負(fù)責(zé)解釋和執(zhí)行JavaScript代碼的線程只有一個(gè)。不妨叫它主線程。 但是實(shí)際上還存在其他的線程。例如:處理AJAX請(qǐng)求的線程、處理DOM事件的線...

    android_c 評(píng)論0 收藏0
  • JavaScript:徹底理解同步、異步和事件循環(huán)(Event Loop)

    摘要:例如處理請(qǐng)求的線程處理事件的線程定時(shí)器線程讀寫文件的線程例如在中等等。事件循環(huán)事件循環(huán)是指主線程重復(fù)從消息隊(duì)列中取消息執(zhí)行的過(guò)程。事件觸發(fā)時(shí),表示異步任務(wù)完成,會(huì)將事件監(jiān)聽器函數(shù)封裝成一條消息放到消息隊(duì)列中,等待主線程執(zhí)行。 一. 單線程 我們常說(shuō)JavaScript是單線程的。 所謂單線程,是指在JS引擎中負(fù)責(zé)解釋和執(zhí)行JavaScript代碼的線程只有一個(gè)。不妨叫它主線程。 但是實(shí)...

    wenyiweb 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<