phpcms调用getJSON无法返回json数据的解决方法phpcmsCMS教程 - phpcms - 爱建站

爱建站,dedecms,phpcms,帝国cms,WordPress,discuz,ecshop,z-blog,UcHome,UCenter,风讯CMS,科汛cms,新云cms

SEO SEO

首页  >   phpcms > phpcms调用getJSON无法返回json数据的解决方法phpcmsCMS教程  >  正文

 

复制代码代码如下: ** * 检查hash值,验证用户数据安全性 * final private function check_hash() { if(preg_match( ^public_ , ROUTE_A) || ROUTE_M == admin && ROUTE_C == index || in_array(ROUTE_A, array( login ))) { return true; } if(isset($_GET[ pc_hash ]) && $_SESSION[ pc_hash ] != && ($_SESSION[ pc_hash ] == $_GET[ pc_hash ])) { return true; } elseif(isset($_POST[ pc_hash ]) && $_SESSION[ pc_hash ] != && ($_SESSION[ pc_hash ] == $_POST[ pc_hash ])) { return true; } else { showmessage(L( hash_check_false ),HTTP_REFERER); }} phpcms给函数进行了hash验证,因此,现在方法是这样写的:复制代码代码如下:public function public_mobile_getjson_ids() { publc是后来加上去的 $modelid = intval($_GET[ modelid ]); $id = intval($_GET[ id ]); $this->db->set_model($modelid); $tablename = $this->db->table_name; $this->db->table_name = $tablename _data ; $r = $this->db->get_one(array( id =>$id), mobile_type ); if($r[ mobile_type ]) { $relation = str_replace( | , , , $r[ mobile_type ]); $relation = trim($relation, , ); $where = "id IN($relation) "; $infos = array(); $this->mobile_db = pc_base::load_model ( mobile_type_model ); $datas = $this->mobile_db->select($where, id,type_name ); $this->db->table_name = $tablename; $datas = $this->db->select($where, id,title ); foreach($datas as $_v) { $_v[ sid ] = v $_v[ id ]; if(strtolower(CHARSET)== gbk ) $_v[ type_name ] = iconv( gbk , utf-8 , $_v[ type_name ]); $infos[] = $_v; } echo json_encode($infos); }} js部分的getJSON是这样写的: 复制代码代码如下: 显示添加机型function show_mobiletype(modelid,id) { $ getJSON( "?m=content&c=content&a=public_mobile_getjson_ids&modelid= "+modelid+ "&id= "+id, function(json){ var newrelation_ids = ; if(json==null) { alert( 没有添加相关文章 ); return false; } $ each(json, function(i, n){ newrelation_ids += "<li id= "+n sid+ " >·<span> "+n type_name+ "< span><a href= javascript:; class= close onclick= "remove_relation( "+n sid+ " , "+n id+ ") ">< a>< li> "; }); $( mobile_type_text ) html(newrelation_ids); }); }就好了



复制代码
代码如下:

/**
* 检查hash值,验证用户数据安全性
*/
final private function check_hash() {
if(preg_match("/^public_/", ROUTE_A) || ROUTE_M =="admin" && ROUTE_C =="index" || in_array(ROUTE_A, array("login"))) {
return true;
}
if(isset($_GET["pc_hash"]) && $_SESSION["pc_hash"] != "" && ($_SESSION["pc_hash"] == $_GET["pc_hash"])) {
return true;
} elseif(isset($_POST["pc_hash"]) && $_SESSION["pc_hash"] != "" && ($_SESSION["pc_hash"] == $_POST["pc_hash"])) {
return true;
} else {
showmessage(L("hash_check_false"),HTTP_REFERER);
}
}

phpcms给函数进行了hash验证,因此,现在方法是这样写的:

复制代码
代码如下:

public function public_mobile_getjson_ids() {//publc是后来加上去的
$modelid = intval($_GET["modelid"]);
$id = intval($_GET["id"]);
$this->db->set_model($modelid);
$tablename = $this->db->table_name;
$this->db->table_name = $tablename."_data";
$r = $this->db->get_one(array("id"=>$id),"mobile_type");

if($r["mobile_type"]) {
$relation = str_replace("|", ",", $r["mobile_type"]);
$relation = trim($relation,",");
$where = "id IN($relation)";
$infos = array();
$this->mobile_db = pc_base::load_model ( "mobile_type_model" );
$datas = $this->mobile_db->select($where,"id,type_name");
//$this->db->table_name = $tablename;
//$datas = $this->db->select($where,"id,title");
foreach($datas as $_v) {
$_v["sid"] = "v".$_v["id"];
if(strtolower(CHARSET)=="gbk") $_v["type_name"] = iconv("gbk", "utf-8", $_v["type_name"]);
$infos[] = $_v;
}
echo json_encode($infos);
}
}

js部分的getJSON是这样写的:


复制代码
代码如下:

//显示添加机型
function show_mobiletype(modelid,id) {
$.getJSON("?m=content&c=content&a=public_mobile_getjson_ids&modelid="+modelid+"&id="+id, function(json){
var newrelation_ids = "";
if(json==null) {
alert("没有添加相关文章");
return false;
}
$.each(json, function(i, n){
newrelation_ids += "<li id=""+n.sid+"">·<span>"+n.type_name+"</span><a href="javascript:;" class="close" onclick=\"remove_relation(""+n.sid+"","+n.id+")\"></a></li>";
});

$("#mobile_type_text").html(newrelation_ids);
});
}

就好了。要注意phpcms里面调用远程地址,方法前加上public啊!!


phpcms调用getJSON无法返回json数据的解决方法phpcmsCMS教程
http://www.yuedudg.cn/article/7591.html

 

友情链接
cms综合网 ecshop经验网 zblog之家
discuz经验网 织梦之家 帝国cms常识
wp之家 phpcms之家


Tags:


猜你喜欢

手机浏览本文
phpcms调用getJSON无法返回json数据的解决方法phpcmsCMS教程

phpcms调用getJSON无法返回json数据的解决方法phpcmsCMS教程

站内推荐

网站分类

标签列表

关于我们
文章内容来源互联网仅供参考,如果还有疑问请联系我们!我们将竭力帮您解决您的问题
联系我们:

QQ: 397423577 

email:397423577@qq.com

微信:ganenboy