이 글은 프론트엔드 js 코드와 그에 상응하는 PHP 처리 코드를 포함하여 ThinkPHP에서 json 데이터를 수신하기 위해 ajax를 사용하는 방법을 주로 소개합니다. 도움이 필요한 친구들이 참고할 수 있습니다. 이 문서에서는 ThinkPHP 메서드에서 ajax를 사용하여 json 데이터를 받는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.
여기서 ajax는 ThinkPHP+jquery를 통해 구현되었으며, 프론트엔드 코드는 다음과 같습니다.
먼저 jquery.js가 도입되어야 합니다. 주요 코드는 다음과 같습니다.
코드는 다음과 같습니다. function ajax(id,pic){
//由于ThinkPHP不解析JavaScript里的ThinkPHP常量,所以需要先在这里定义。
var URL='__URL__';
$.ajax({
url: URL+'/returnAjax/id/'+id,//提交访问的URL
type: 'GET',//提交的方法
dataType: 'text',//返回的内容的类型,由于PHP文件是直接echo的,那么这里就是text
timeout: 1000,//超时时间
error: function(){ //如果出错,执行函数
alert('Error loading XML document');
},
success: function(data){
//alert(data);//如果成功,弹出数据
writeHtml(data,pic);
}
});
}
function writeHtml(data,pic){
var product = eval('(' + data + ')'); //即使不引入json.js也可以转成json对象
//alert($("#cate_pic").attr("src"));
$("#cate_pic").attr("src","../images/"+pic);
$("#product_pic").attr("src","../Attachments/product/"+product.attachpath+"/"+product.attachthumb);
$("#product_subject").html(product.subject);
$("#product_content").html(product.content);
}
Product.class.php의 에코 출력을 사용하면 thinkphp의 json_encode() 메서드가 자동으로 개체를 json 형식으로 변환할 수 있습니다
코드는 다음과 같습니다.public function returnAjax(){
$id = $_GET['id'];
$Product=D('Product')->where('id='.$id)->find();
//返回一个json格式的数据集
echo json_encode($Product);
//print_r(json_encode($Product));
}
반환된 데이터 형식은 다음과 같습니다.
코드는 다음과 같습니다.{
"id":"9",
"userid":"1",
"cid":"10",
"cid":"10",
"subject":"1111",
"color":"",
"spec":"",
"size":"",
"keywords":"",
"content":"<p>1111</p>",
"meno":"1111",
"attachpath":"200903",
"attachment":"49d1d86e68d31.png",
"attachthumb":"49d1d86e68d31_thumb.png"
}
관련 권장 사항:
위 내용은 ThinkPHP에서 ajax를 사용하여 json 데이터를 받는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!