首页 > 其他分享 >如何通过JS来实现600多家的物流轨迹查询?

如何通过JS来实现600多家的物流轨迹查询?

时间:2022-10-18 19:32:49浏览次数:75  
标签:status 轨迹 27% JS 快递 var data 600

有朋友在后台问我,说他不懂后端开发、JAVA、PHP、C#、python的话,只会一点JS,但是现在想查询多家快递的物流轨迹,手动查又不太可能实现,自己JS又只会一点点,为此烦恼了很久。

这期内容就教你:如何通过JS调用快递鸟API接口,来实现600多家的物流轨迹查询。

首先,先注册一个账号:​点击注册

然后,新建一个Text文本,把下面这段代码复制进去,替换你自己的快递鸟ID和APIkey, 将txt后缀改成HTML,用浏览器预览就可以看到效果。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>JS调用快递鸟API接口</title>
<meta charset="utf-8" />
<script src="/base64.js"></script>
<script src="/md5.js"></script>
<script src="/jquery.json-2.2.min.js"></script>
<script src="/common.js"></script>
<script type="text/javascript">

function GetAPI() {
var key="快递鸟API Key";
var id = "快递鸟注册ID号";
var requestData="{'OrderCode':'','ShipperCode':'ZTO','LogisticCode':'78120038107849'}";
//MD5加密
var md5str = md5(requestData + key).toLowerCase();
//base64
var dataSign = Base64.encode(md5str);
//拼接字符串(快递鸟请求报文格式)url编码
var reqData = "RequestData=" + escape(requestData) + "&EBusinessID=" + id + "&RequestType=1002&DataSign=" + escape(dataSign) + "&DataType=2";
//reqData = "RequestData=%7b%27OrderCode%27%3a%27%27%2c%27ShipperCode%27%3a%27ZTO%27%2c%27LogisticCode%27%3a%2778120038107849%27%7d&EBusinessID=1264783&RequestType=1002&DataSign=NzMxNTAzZWYxYTJiOGIyMDhiNTVjMTc4MDQ0NjdlZDg%3d&DataType=2";

//调用
SubmitPost({
method: 'post',
url: '/api/dist',
data: reqData,
beforeSend: function (xhr) {
//调用前触发,如加载效果等
},
success: function (data, status) {
if (status) {
document.getElementById("msg").innerHTML = "";
for (var i = 0,
len = data.Traces.length; i < len; i++) {

var acceptTime = data.Traces[i].AcceptTime;
var acceptStation = data.Traces[i].AcceptStation;
//页面展示效果自己开发,这里只实现功能
document.getElementById("msg").innerHTML += acceptTime + " " + acceptStation+"<br/>";
}
}
},
error: function (data, status, e) {
if (data.status == "401") {
alert(data.status);
return;
}


}
});
}
</script>

</head>
<body>

<input id="Button1" onclick="GetAPI();" type="button" value="JS调用快递鸟API接口" />

<div id="msg"></div>
</body>
</html>

运行效果如下:

如何通过JS来实现600多家的物流轨迹查询?_json

注意:

<script src="/base64.js"></script>
<script src="/md5.js"></script>
<script src="/jquery.json-2.2.min.js"></script>

这3个JS文件引用,网上都能下载到,都是通用的JS,如果有更好的建议,欢迎下方留言一起探讨。


标签:status,轨迹,27%,JS,快递,var,data,600
From: https://blog.51cto.com/KDapi/5767994

相关文章

  • python中展示json数据不换行(手动换行)
    https://blog.csdn.net/chichu261/article/details/82784904Settings—>keymap—>在搜索框输入wraps—>选择UseSoftWraps—>之后设置快捷键就可以了。针对第......
  • js栈内存和堆内存
    js栈内存和堆内存的区别栈(stack)会自动分配内存空间,栈内存变量基本上用完就会自动释放。堆(heap)动态分配的内存,大小不定也不会自动释放,只有当所有调用的变量全部销毁之......
  • 记录一次JSP后门的分析
    0x01环境部署首先启动一个tomcat的环境先把这里的代码跑起来先把这里的代码跑起来,访问tomcat在docker中的​​tomcat/conf​​中可以看到账号密码将JSP打包为war包​​jar......
  • go json.Marshal序列化/解析失败的一种情况
    读取mysql返回struct体数据printf时可以打印通过json解析一直为空经过多方测试发现是struct内部变量命名时被写成了小写开头猜测:go定义内部变量/函数时,小写开头为私有,大......
  • json server mock
    参考链接https://github.com/typicode/json-server1. npmijson-server-D或者yarnaddjson-server--dev创建一个jsonserver的目录,这个目录下创建db.json  {......
  • application/x-www-form-urlencoded和application/json
    今天前端传递一个json,我用@RequestBody怎么都接不到这个参数一看请求头是application/x-www-form-urlencoded这个,这样的话,前端只能传递key-value形式的参数但是前端appli......
  • js解析json数据
      js代码constfs_port=require("fs");letrawdata=fs_port.readFileSync("Config.json");json_data=JSON.parse(rawdata);Ip_=json_data.hostport_=json_d......
  • Jmeter添加JSR223对Python的支持
    通过下载:org.python:jython-standalone:2.7.2-MavenCentralRepositorySearchjython-standalone-2.7.2.jar放置到\lib\ext下即可: 打开JSR223取样器即可选择pyt......
  • axios : Promise based HTTP client for the browser and node.js
    axiosPromisebasedHTTPclientforthebrowserandnode.jsFeaturesMake​​XMLHttpRequests​​fromthebrowserMake​​http​​requestsfromnode.jsSupportsthe......
  • JS 打开、关闭浏览器全屏
    一、打开全屏requestFullscreen(){constdocElm=document.documentElementif(docElm.requestFullscreen){docElm.requestFullscreen()}elseif(do......