今天遇到一個getJSON的問題,回呼函數一直無法執行,檢查了產生的json資料的格式絕對沒問題,getJSON的js文法也沒問題,但就是alert不出來傳回的資料。原來是phpcms的check_hash()函數對遠程調用的方法進行了安全驗證,
方法名前沒public_的都不能通過。
(('/^public_/', ROUTE_A) || ROUTE_M =='admin' && ROUTE_C =='index' || (ROUTE_A, ('login' ((['pc_hash']) && ['pc_hash'] != '' && (['pc_hash'] == ['pc_hash' ((['pc_hash']) && ['pc_hash'] != '' && (['pc_hash'] == ['pc_hash' 'hash_check_false'),
phpcms給函數進行了hash驗證,因此,現在方法是這樣寫的:
public_mobile_getjson_ids() { = (['modelid' = (['id'->db->set_model( = ->db->->db->table_name = .'_data' = ->db->get_one(('id'=>),'mobile_type'(['mobile_type' = ('|', ',', ['mobile_type' = (,',' = "id IN()" = ->mobile_db = pc_base::load_model ( 'mobile_type_model' = ->mobile_db->select(,'id,type_name'db->table_name = $tablename; //$datas = $this->db->select($where,'id,title'); ( ['sid'] = 'v'.['id'((CHARSET)=='gbk') ['type_name'] = ('gbk', 'utf-8', ['type_name'[] = json_encode(
js部分的getJSON是這樣寫的:
"?m=content&c=content&a=public_mobile_getjson_ids&modelid="+modelid+"&id="+id, newrelation_ids = ''(json=='沒有添加相關文章' += "
·"+n.type_name+""'#mobile_type_text'
就好了。要注意phpcms裡面調用遠程地址,方法前加上public啊!!
http://www.bkjia.com/PHPjc/740287.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/740287.htmlTechArticle今天遇到一個getJSON的問題,回呼函數一直無法執行,檢查了產生的json資料的格式絕對沒問題,getJSON的js文法也沒問題,但就是alert不出來傳...