成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

ThinkPHP 3.2.3 的一個(gè) Bug 和一個(gè)錯(cuò)誤的設(shè)計(jì)

Dogee / 2250人閱讀

摘要:于是為了使這個(gè)生效,只能將這個(gè)配置改成之外的任意字符串。。。然后在創(chuàng)建文件再創(chuàng)建文件我的目的是內(nèi)調(diào)用的時(shí)候,響應(yīng)的狀態(tài)碼變成。其實(shí)這也算另一個(gè)吧,然道不應(yīng)該響應(yīng)一個(gè)錯(cuò)誤的狀態(tài)碼但是沒(méi)辦法,鑒于團(tuán)隊(duì)的平均水平,用開(kāi)發(fā)仍然是最佳選擇。

ThinkPHP 3.2.3 的 ajax_rerurn 這個(gè) Hook 是有邏輯錯(cuò)誤的……
源代碼在這里:

    protected function ajaxReturn($data,$type="",$json_option=0) {
        if(empty($type)) $type  =   C("DEFAULT_AJAX_RETURN");
        switch (strtoupper($type)){
            case "JSON" :
                // 返回JSON數(shù)據(jù)格式到客戶端 包含狀態(tài)信息
                header("Content-Type:application/json; charset=utf-8");
                exit(json_encode($data,$json_option));
            case "XML"  :
                // 返回xml格式數(shù)據(jù)
                header("Content-Type:text/xml; charset=utf-8");
                exit(xml_encode($data));
            case "JSONP":
                // 返回JSON數(shù)據(jù)格式到客戶端 包含狀態(tài)信息
                header("Content-Type:application/json; charset=utf-8");
                $handler  =   isset($_GET[C("VAR_JSONP_HANDLER")]) ? $_GET[C("VAR_JSONP_HANDLER")] : C("DEFAULT_JSONP_HANDLER");
                exit($handler."(".json_encode($data,$json_option).");");  
            case "EVAL" :
                // 返回可執(zhí)行的js腳本
                header("Content-Type:text/html; charset=utf-8");
                exit($data);            
            default     :
                // 用于擴(kuò)展其他返回格式數(shù)據(jù)
                Hook::listen("ajax_return",$data);
        }
    }

其中 C("DEFAULT_AJAX_RETURN") 獲取到的配置默認(rèn)是 json。
很明顯 Hook::listen("ajax_return",$data) 所在的位置,決定了它正常情況都不會(huì)被調(diào)用。
不管你將它改成 xml、jsonp、還是 eval。

于是為了使這個(gè) Hook 生效,只能將 DEFAULT_AJAX_RETURN 這個(gè)配置改成 jsonxml、jsonp、eval 之外的任意字符串。。。比如我將它改成 "DEFAULT_AJAX_RETURN" => "hook"。

然后在創(chuàng)建文件:/Application/Admin/Conf/tags.php

 array("AdminBehaviorsajaxBehavior"),
);

再創(chuàng)建文件:/Application/Admin/Behaviors/ajaxBehavior.class.php


我的目的是:Controller 內(nèi)調(diào)用 $this->error("tmdphp") 的時(shí)候,響應(yīng)的 HTTP 狀態(tài)碼變成 500。
這樣客戶端才會(huì)正確的執(zhí)行 jQuery.ajaxerror 回調(diào)。

其實(shí)這也算另一個(gè) Bug 吧,ThinkController::error 然道不應(yīng)該響應(yīng)一個(gè)錯(cuò)誤的 HTTP 狀態(tài)碼?

但是沒(méi)辦法,鑒于團(tuán)隊(duì)的平均水平,用 ThinkPHP 開(kāi)發(fā)仍然是最佳選擇。

等會(huì)去 Github 提交個(gè) PR 看看會(huì)不會(huì)被采納。。。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/30334.html

相關(guān)文章

  • 云幫(ACP)3月升級(jí),支持PHP7、修復(fù)若干Bug

    摘要:本月產(chǎn)品層面的升級(jí)主要集中在語(yǔ)言源碼構(gòu)建方面,全面支持和并兼容開(kāi)發(fā)框架。研發(fā)團(tuán)隊(duì)在這一個(gè)月中對(duì)底層組件進(jìn)行了升級(jí)與調(diào)整,修復(fù)了個(gè)中等級(jí)別以上的。因?yàn)檫@個(gè)焦點(diǎn),有廣泛的支持,規(guī)格易于實(shí)現(xiàn)。 全面支持一條命令安裝云幫平臺(tái)、調(diào)整SDN網(wǎng)絡(luò)組件、8 個(gè)中等級(jí)別以上的bug修復(fù)、云幫社區(qū)版 迎來(lái)2017年3月升級(jí)版本,本次升級(jí)主要集中在平臺(tái)底層服務(wù),以及云幫的私有化安裝部署的流程上,針對(duì)SDN網(wǎng)...

    lastSeries 評(píng)論0 收藏0
  • 基于ThinkPHP5拿來(lái)即用高性能后臺(tái)管理系統(tǒng)

    摘要:數(shù)據(jù)庫(kù)文件已經(jīng)上傳,安裝配置就可以使用簡(jiǎn)稱即基于的后臺(tái)管理系統(tǒng)官方文檔地址在線體驗(yàn)地址賬戶密碼線上倉(cāng)庫(kù)在線地址源代碼下載克隆直接下載本地部署運(yùn)行環(huán)境要求建議配置虛擬域名若不清楚,請(qǐng)自行解決之,方便接下來(lái)開(kāi)展你的開(kāi)發(fā)工作。 喜歡就Star,不只是Fork; 想要分享的動(dòng)機(jī)才是驅(qū)動(dòng)力,而技術(shù)僅僅是一種方法。 數(shù)據(jù)庫(kù)文件已經(jīng)上傳,安裝配置就可以使用 showImg(https://seg...

    894974231 評(píng)論0 收藏0
  • 基于ThinkPHP5拿來(lái)即用高性能后臺(tái)管理系統(tǒng)

    摘要:數(shù)據(jù)庫(kù)文件已經(jīng)上傳,安裝配置就可以使用簡(jiǎn)稱即基于的后臺(tái)管理系統(tǒng)官方文檔地址在線體驗(yàn)地址賬戶密碼線上倉(cāng)庫(kù)在線地址源代碼下載克隆直接下載本地部署運(yùn)行環(huán)境要求建議配置虛擬域名若不清楚,請(qǐng)自行解決之,方便接下來(lái)開(kāi)展你的開(kāi)發(fā)工作。 喜歡就Star,不只是Fork; 想要分享的動(dòng)機(jī)才是驅(qū)動(dòng)力,而技術(shù)僅僅是一種方法。 數(shù)據(jù)庫(kù)文件已經(jīng)上傳,安裝配置就可以使用 showImg(https://seg...

    SHERlocked93 評(píng)論0 收藏0
  • TP-admin即基于ThinkPHP5拿來(lái)即用高性能后臺(tái)管理系統(tǒng)

    摘要:即基于拿來(lái)即用高性能后臺(tái)管理系統(tǒng)官方文檔地址在線體驗(yàn)地址賬戶密碼線上倉(cāng)庫(kù)在線地址源代碼下載克隆直接下載本地部署運(yùn)行環(huán)境要求建議配置虛擬域名若不清楚,請(qǐng)自行解決之,方便接下來(lái)開(kāi)展你的開(kāi)發(fā)工作。 新版本在線體驗(yàn)地址已經(jīng)上線,歡迎體驗(yàn)? ---2017-01-14 喜歡就Star,不只是Fork; 想要分享的動(dòng)機(jī)才是驅(qū)動(dòng)力,而技術(shù)僅僅是一種方法。 ====================...

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

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

0條評(píng)論

Dogee

|高級(jí)講師

TA的文章

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