亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    php如何判斷是ajax

    php如何判斷是ajax

    今天在M_Controller內(nèi)遇到如下代碼,故對(duì)如何判斷ajax請(qǐng)求,post請(qǐng)求及REQUEST_TIME于time()函數(shù)差別做了一下學(xué)習(xí)。

    define('IS_AJAX', $this->input->is_ajax_request()); define('IS_POST', $_SERVER['REQUEST_METHOD'] == 'POST' && count($_POST) ? TRUE : FALSE); define('SYS_TIME', $_SERVER['REQUEST_TIME'] ? $_SERVER['REQUEST_TIME'] : time());

    is_ajax_request()方法是CI內(nèi)判斷是否ajax請(qǐng)求的一種方法,官方文檔對(duì)于它的解釋是:檢查服務(wù)器頭中是否含有HTTP_X_REQUESTED_WITH,如果有返回TRUE,否則返回FALSE。

    當(dāng)然,這樣的判斷是不夠完善的,涉及到判斷的原理如下:

    當(dāng)我們通過jquery發(fā)送ajax請(qǐng)求時(shí),會(huì)在請(qǐng)求頭部添加一個(gè)名為 X-Requested-With 的信息,信息默認(rèn)內(nèi)容為:XMLHttpRequest,這是CI框架對(duì)于ajax請(qǐng)求判斷的依據(jù)。

    但是,當(dāng)我們用原生js時(shí)如何進(jìn)行判斷呢?

    xmlHttpRequest.setRequestHeader("request_type","ajax");

    根據(jù)XMLHttpRequest對(duì)象,手動(dòng)進(jìn)行頭部設(shè)置,如上設(shè)置完成后,我們可以再PHP邏輯代碼中如下獲?。?/p>

    $_SERVER['HTTP_REQUEST_TYPE']

    很明顯,我們?cè)陬^部設(shè)置的request_type在后臺(tái)獲取時(shí),加上HTTP_的前置字符串,即可獲取到前臺(tái)發(fā)送的Header信息,即通過調(diào)用$_SERVER['HTTP_REQUEST_TYPE']得到前臺(tái)傳值:ajax,當(dāng)然request_type也可以自行設(shè)置為別的字段。

    以上內(nèi)容僅供參考!

    推薦教程:PHP視頻教程

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)