thinkphp 3.2.3完全版 实现 物流查询功能。
物流查询一般是从一些网站获取快递查询接口,然后获取接口返回的数据。实现原理很简单。实现方法也很多
下面我把自己用ajax实现的物流查询代码放在如下。
前端html代码
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>表格行的类</title> <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css"> <body> <div class="panel"> <div class="wrap"> <input type="text" name="express" placeholder="请输入快递单号"/> <button id="buttton-serach">查询</button> </div> <table class="table table-bordered" style="display:none;" id="expresstable"> <thead> <tr> <th>时间</th> <th>快件详情</th> </tr> </thead> <br/> <tbody id="content"> </tbody> </table> </div> <div style="text-align:center;clear:both"></div> </body> </html>
前端jQuery代
<script>$('#button-search').click(function(){
var searchText=$('input[name=express]').val(); if(!searchText){
return dialog.error('运单号不能为空');
} if(searchText<100000){
return dialog.error('运单号不合法');
} $.get('admin.php?c=login&a=login&id='+searchText,function(result){ if(!result){ return dialog.error('快递单号不存在或已过期'); }
if(result.ischeck==0){\
return dialog,error('快递单号已过期');
}
var d=result.data; for(i=0;i<d.length;i++){
var html='';
html+='<tr class="active">';
html+='<td>'+d.time+'</td>';
html+='<td>'+d.content+'</td>';
html+='</tr>';
$("#content").html(html);
$("#tableexpress").show();
},'json'); }); $('.wrap').click(function(){
$('#tableexpress').hide();
}); </script>
前端js部署完毕然后 开始thinkphp的编程。
找到LoginController.php
这个文件
增加 express这个方法
public function express(){
$data=$_GET['id'];
if($data&&$data!=''){
调用类里面的getorder方法。
//未完先来操作一下类文件。
}
$this->display('express');
}
博客看到的与个作者分享的查询物流类。放入
Vendor文件夹下可以根据自身需求放置。
在Login在这个控制器下引入这个类文件
类文件先自定义命名空间
<?php
namespace Vender\express;
?>
控制器中引入
<?php
use \Vender\express as express;
import('Vendor.Express');//Vendor文件夹下的Express类文件。
?>
$rel=new express\Express();
$result=$rel->getorder($data);
类文件自身返回的就是json格式数据
exit($result);//把数据返回给浏览器。
主要功能已经完成。
完成示意图