自定義_ajax 兩種方式

一衩茸、用原生來寫ajax

  • 請(qǐng)求GET
 function Ajax2() {
        //創(chuàng)建對(duì)象
        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function () {
            if(xhr.readyState==4){
                console.log((xhr.responseText));
            }
        }
        //獲取數(shù)據(jù)
        xhr.open('GET','/ajax?p=123');
        xhr.send(null);
    };
  • 請(qǐng)求POST
    function Ajax3() {
        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function () {
            if(xhr.readyState==4){
                //接受服務(wù)器返回的數(shù)據(jù)
                console.log(xhr.responseText);
            }
        }
        xhr.open('POST','/ajax/');
        //post 請(qǐng)求頭
        xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset-UTF-8')
        //post 請(qǐng)求發(fā)送參數(shù)d
        xhr.send("p=456");

    }

二赐纱、用ifarme來寫

用ajax的時(shí)候糊肤,整體的請(qǐng)求步驟是
1.向指定的url發(fā)送請(qǐng)求
2.指定的url 函數(shù)處理請(qǐng)求返回處理后
3.ajax接受處理后的請(qǐng)求助泽,來進(jìn)行下一步的操作

  • 先寫一個(gè)iframe 例子認(rèn)識(shí)iframe

這input的中輸入網(wǎng)址啰扛,進(jìn)行跳轉(zhuǎn)嚎京,通過這個(gè)例子發(fā)現(xiàn),iframe可以幫我們完成1和2步

<h6>ifram</h6>
<input id="url" type="text"> <a href="#" onclick="ifclick()">T</a>
<iframe id="iframe" src="http://www.baidu.com" height="800px" width="800px"></iframe>

<script>
function ifclick() {
            var v = $('#url').val();
            $('#iframe').attr('src',v)

    }
</script>
  • 簡(jiǎn)單例子

用from的target屬性和iframe 的name一致創(chuàng)建綁定關(guān)系侠讯,這樣form向后傳值挖藏,可以用iframe來接受展示

<iframe id="ifram" name="ifra"></iframe>
<form id="fm" action="/ajaxfram/" method="POST" target="ifra">
    <input name="root" value="111">
    <input type="submit" value="提交">
</form>

views 后臺(tái)處理form提交的用戶輸入的值

def ajaxfram(request):
    if request.method == "GET":
        return render(request, "index.html")

    else:
        return HttpResponse("ok")
  • 升級(jí)必備版本,處理后臺(tái)接受的函數(shù)

要想利用iframe厢漩,做到在js處理完數(shù)據(jù)展示膜眠,就給用到iframe的onload屬性延遲加載,也就是在他等待的時(shí)候我們給他寫一個(gè)處理函數(shù)

<iframe id="ifram" name="ifra"></iframe>
<form id="fm" action="/ajaxfram/" method="POST" target="ifra">
    <input name="root" value="111">
    <a onclick="AjaxSubit()">提交</a>
</form>
  • js
    js 的思路是當(dāng)我們點(diǎn)擊提交的時(shí)候溜嗜,給iframe 綁定onload屬性
 function AjaxSubit(){
        document.getElementById('ifram').onload = reloadIframe;
        document.getElementById('fm').submit();
    }

我們用給onload 綁定的函數(shù)reloadIframe進(jìn)行數(shù)據(jù)處理,注意iframe展示都在body中宵膨,所以先從body中獲取值

  function reloadIframe() {
        var concent = this.contentWindow.document.body.innerHTML;
        var obj = JSON.parse(concent);
        if(obj.status){
            alert(obj.message)
        }
    }

views 層

def ajaxfram(request):
    if request.method == "GET":
        return render(request, "index.html")

    else:
        import json
        ret = {"status":True,"message":"...."}
        return HttpResponse(json.dumps(ret))
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市炸宵,隨后出現(xiàn)的幾起案子辟躏,更是在濱河造成了極大的恐慌,老刑警劉巖土全,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捎琐,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡裹匙,警方通過查閱死者的電腦和手機(jī)瑞凑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來概页,“玉大人籽御,你說我怎么就攤上這事《璩祝” “怎么了技掏?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)项鬼。 經(jīng)常有香客問我哑梳,道長(zhǎng),這世上最難降的妖魔是什么绘盟? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任鸠真,我火速辦了婚禮,結(jié)果婚禮上奥此,老公的妹妹穿的比我還像新娘。我一直安慰自己雁比,他們只是感情好稚虎,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著偎捎,像睡著了一般蠢终。 火紅的嫁衣襯著肌膚如雪序攘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天寻拂,我揣著相機(jī)與錄音程奠,去河邊找鬼。 笑死祭钉,一個(gè)胖子當(dāng)著我的面吹牛瞄沙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播慌核,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼距境,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了垮卓?” 一聲冷哼從身側(cè)響起垫桂,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎粟按,沒想到半個(gè)月后诬滩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡灭将,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年疼鸟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宗侦。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡愚臀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出矾利,到底是詐尸還是另有隱情姑裂,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布男旗,位于F島的核電站舶斧,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏察皇。R本人自食惡果不足惜茴厉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望什荣。 院中可真熱鬧矾缓,春花似錦、人聲如沸稻爬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)桅锄。三九已至琉雳,卻和暖如春样眠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背翠肘。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工檐束, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人束倍。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓被丧,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親肌幽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子晚碾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 前端開發(fā)面試題 <a name='preface'>前言</a> 只看問題點(diǎn)這里 看全部問題和答案點(diǎn)這里 本文由我...
    自you是敏感詞閱讀 761評(píng)論 0 3
  • 五十三:請(qǐng)解釋 JavaScript 中 this 是如何工作的。1.方法調(diào)用模式當(dāng)一個(gè)函數(shù)被保存為一個(gè)對(duì)象的屬性...
    Arno_z閱讀 579評(píng)論 0 2
  • 你試過一動(dòng)不動(dòng)按著刪除鍵的喂急,讓一個(gè)一個(gè)敲出才的字消失不見格嘁,只剩下一個(gè)閃爍的字符在空白頁(yè)的最前端,等待黑色花紋的填充...
    趙斯年0622閱讀 196評(píng)論 0 5
  • 九章 呂可樂怎么也沒想到廊移。劉威會(huì)去砸飛魚的場(chǎng)子糕簿。她以為,劉威是她最普通的朋友狡孔《可接到幫她看到的員工電話時(shí)。 呂可樂...
    uiu閱讀 362評(píng)論 0 1
  • 01 ▽ 昨晚凌晨三點(diǎn)失眠苗膝,我在朋友圈發(fā)了條消息:“翻過來睡不著殃恒,翻過去還是睡不著∪杞遥”隔了不到一分鐘离唐,小嘉就給我發(fā)...
    他命哥哥閱讀 3,951評(píng)論 1 1