Jquery.$ajax獲取HTTP statusCode

背景

筆者遇到一個(gè)這樣的情況浮声,需要利用ajax去訪問一個(gè)url虚婿,用該url返回的src作為資源地址來(lái)播放一個(gè)video標(biāo)簽。大概可以這樣理解:

function freshVideoStatus() {
    $.ajax({
        type : "POST",
        url : $(".video")[0].src,
        dataType : 'json',
        success:function(data){
           //TODO
        }
    });
}

但是泳挥,我的src并沒有那么絕對(duì)然痊,他是一個(gè)帶有時(shí)間參數(shù)的加密值,也就是說(shuō)屉符,一段時(shí)間后剧浸,這個(gè)src就會(huì)失效锹引,我現(xiàn)在想要做的就是,在這個(gè)既定時(shí)間之后辛蚊,再去訪問這個(gè)url,從而獲取它的失效狀態(tài)粤蝎,然后進(jìn)行一些其他事件。這就引申到了為什么要獲取狀態(tài)碼袋马,怎么去獲取呢?我搜了一些博客秸应,寫的比較簡(jiǎn)單虑凛,執(zhí)行起來(lái)好像并沒有看到什么效果。软啼。

過程

查閱jquery API給我的結(jié)果是

    $.ajax({
          statusCode: {
            404: function() {
              alert( "page not found" );
            }
          }
    });

而事實(shí)上是桑谍,它只能訪問到statusCode這里祸挪,并不能拿到準(zhǔn)確的返回碼,所以不管填402贿条,403,404都是無(wú)濟(jì)于事胧辽,它檢測(cè)不到也不會(huì)執(zhí)行你的方法邑商。
然后找了下國(guó)外友人的問題:

Is there a way to get HTTP status code name using JS and AngularJS?

得到一個(gè)這樣的答案:

    $.ajaxSetup({
        type: "GET",
        dataType: "jsonp",
        error: function(xhr, exception){
            if( xhr.status === 0)
                alert('Error : ' + xhr.status + 'You are not connected.');
            else if( xhr.status == "201")
                alert('Error : ' + xhr.status + '\nServer error.');
            else if( xhr.status == "404")
                alert('Error : ' + xhr.status + '\nPage note found');
            else if( xhr.status == "500")
                 alert('Internal Server Error [500].');
            else if (exception === 'parsererror') 
                alert('Error : ' + xhr.status + '\nImpossible to parse result.');
            else if (exception === 'timeout')
                alert('Error : ' + xhr.status + '\nRequest timeout.');
            else
                alert('Error .\n' + xhr.responseText);
        }
    });

事實(shí)上經(jīng)過測(cè)試得到人断,還是不能獲取到準(zhǔn)確的statusCode朝蜘,它進(jìn)入error之后,只能檢測(cè)到exception === 'parsererror',這就讓我很無(wú)奈了蝉绷。我只是單純的想檢測(cè)一個(gè)402霸姹А!從網(wǎng)頁(yè)network可以看到402就是無(wú)法用JS獲取到桅狠。欲哭無(wú)淚!
另外一個(gè)哥們寫的咨堤,測(cè)試好像還是不行

    $http({
        method : 'GET',
        url : '/someUrl'
    }).then(function successCallback(response) {
        var status = response.status;
        console.log(status); // gives the status 200/401
        var statusText = response.statusText;
        console.log(status); // HTTP status text of the response
    }, function errorCallback(response) {

    });

最后我直接選擇了第一個(gè)方案一喘,讓他捕獲到有返回碼但不判斷嗜暴,所以也不能做接下來(lái)的事件。
以上代碼雖然我測(cè)試沒有用萎战,但很可能和我服務(wù)器環(huán)境有關(guān)舆逃,大家大可嘗試一下,比較別人貼出來(lái)不是玩的虫啥。览祖。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末展蒂,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子柳骄,更是在濱河造成了極大的恐慌箕般,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件曲初,死亡現(xiàn)場(chǎng)離奇詭異臼婆,居然都是意外死亡幌绍,警方通過查閱死者的電腦和手機(jī)故响,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門彩届,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)樟蠕,“玉大人丰捷,你說(shuō)我怎么就攤上這事。” “怎么了骄瓣?”我有些...
    開封第一講書人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵榕栏,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我庆揪,道長(zhǎng)妨托,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任内颗,我火速辦了婚禮敦腔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘找前。我一直安慰自己判族,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開白布颗品。 她就那樣靜靜地躺著,像睡著了一般躯枢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上氓仲,一...
    開封第一講書人閱讀 49,816評(píng)論 1 290
  • 那天得糜,我揣著相機(jī)與錄音,去河邊找鬼啥箭。 笑死治宣,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的坏怪。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼铝宵,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼鹏秋!你這毒婦竟也來(lái)了唯绍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤惜纸,失蹤者是張志新(化名)和其女友劉穎绝骚,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體粪牲,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡腺阳,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了亭引。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡纹冤,死狀恐怖萌京,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情知残,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站印蔗,受9級(jí)特大地震影響华嘹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜耙厚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一岔霸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧型宝,春花似錦絮爷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)指巡。三九已至隶垮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間岁疼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工瑰排, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留暖侨,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓京郑,卻偏偏與公主長(zhǎng)得像葫掉,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子户魏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理叼丑,服務(wù)發(fā)現(xiàn),斷路器鸠信,智...
    卡卡羅2017閱讀 134,633評(píng)論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,773評(píng)論 6 342
  • AJAX 原生js操作ajax 1.創(chuàng)建XMLHttpRequest對(duì)象 var xhr = new XMLHtt...
    碧玉含香閱讀 3,182評(píng)論 0 7
  • 《ilua》速成開發(fā)手冊(cè)3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 1...
    葉染柒丶閱讀 10,592評(píng)論 0 11
  • 可是我同時(shí)執(zhí)著地鐘情于德彪西的寂寞《月光》。 雖然它曾經(jīng)很長(zhǎng)一段時(shí)間于我而言贞铣,不過鋼琴曲譜里的短短三頁(yè)沮明,考級(jí)曲目中...
    十年抒閱讀 399評(píng)論 2 4