列车时刻表查询 jqm/ajax/xml
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>liechebiao.html</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="stylesheet" href="css/jquery.mobile-1.4.3.css">
<script src="js/jquery-1.11.1.js"></script>
<script src="js/jquery.mobile-1.4.3.js"></script>
<style>
#btn{background-color:rgba(255,255,255,0.3);color:#ccc;}
#back{display:block;margin:0 auto;}
</style>
<script>
var url1 = "http://crossorigin.me/http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getStationAndTimeByStationName?UserID=";//通过发车站和终点站查询
var url2 = "http://crossorigin.me/http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getStationAndTimeDataSetByLikeTrainCode?UserID=";//通过车次来查询
var url3 = "http://crossorigin.me/http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getDetailInfoByTrainCode?UserID=";
//请求加载详情:
var isAjax=false; //ajax使用小技巧
function city(Id){
$.mobile.loading("show"); //加载图标显示出来
if(isAjax) return; //如果为true,则正在加载,再点击多次都不会执行。
isAjax=true; //开始之前设为true
$.ajax({
type:'get',
url:url3,
data:{TrainCode:$("#num"+Id).text()},
timeout:30000,
success:function(data){
isAjax=false; //加载成功后设为false,此时又开始加载了
var info=$(data).find("TrainDetailInfo");
var trip="";
for(var i in info){ //解析xml文件
trip+='<tr><td>'+$(info).eq(i).find("TrainStation").text()+'</td><td>'+$(info).eq(i).find("StartTime").text()+'</td><td>'+$(info).eq(i).find("ArriveTime").text()+'</td></tr>'
$("#table").find("tbody").empty().append(trip);
}
$.mobile.changePage("#index1"); //跳转到下一个页面
$.mobile.loading("hide"); //加载的图标隐藏起来
}
});
}
$(document).on("pageinit","#index",function(){//页面初始化之后
$("#search_btn").on("click",function(){ //发送请求之前先校验
if($("#start").val()&&$("#end").val()||$("#num").val()){
var btn=$(this);
btn.button("option","disable",true);//设置搜索按钮不可再次点击
$.mobile.loading("show"); //设置加载图标显示
var url=url2 //默认url为url2,先判断再发送请求
var data={};
if($("#num").val()){ //如果填了车此次信息,就加在url2,
var data={TrainCode:$("#num").val()};
}
else{ //如果没填了车此次信息,就加在url1
var url=url1
var data={StartStation:$("#start").val(),ArriveStation:$("#end").val()};
}
$.ajax({
url:url,
type:'get',
data:data,
success:function(data){
var timeTables = $(data).find("TimeTable");
var detail="";
for(var i=0;i<timeTables.length;i++){
if(i>10) //第10条信息后面的就不要了
return false;
if(timeTables.find("FirstStation").text()=="数据没有被发现"){
alert("数据没有被发现");
return false;
}
detail+='<li><a href="###" onclick="city('+i+')" id="num'+i+'">'+$(timeTables).eq(i).find("TrainCode").text()+'</a><span>'+$(timeTables).eq(i).find("StartStation").text()+'--</span><span>'+$(timeTables).eq(i).find("ArriveStation").text()+'</span><br><span>'+$(timeTables).eq(i).find("StartTime").text()+'--</span><span>'+$(timeTables).eq(i).find("ArriveTime").text()+'</span><br><span>用时:'+$(timeTables).eq(i).find("UseDate").text()+'</span></li>';
$("#list").html(detail);
$("#list").listview("refresh");
$.mobile.loading("hide");
btn.button("option","disable",false);
}
}
});
}else{
alert("请输入出发站和终点站或者输入车次!");
}
});
});
</script>
</head>
<body>
<div data-role="page" id="index">
<div data-role="header" data-position="fixed">
<h1>列车时刻表查询</h1>
</div>
<div role="main" class="ui-content">
<form action="###" methor="post" id="car_form">
<div class="ui-field-contain">
<label for="start">出发站</label>
<input type="text" name="start" id="start">
</div>
<div class="ui-field-contain">
<label for="end">终点站</label>
<input type="text" name="end" id="end">
</div>
<div class="ui-field-contain">
<label for="num">车次</label>
<input type="text" name="num" id="num">
</div>
</form>
<input type="submit" value="搜索" id="search_btn">
<ul data-role="listview" data-inset="true" id="list"></ul>
</div>
<div data-role="footer" data-position="fixed">
<div data-role="navbar">
<ul>
<li><a href="#index1" data-icon="grid" class="ui-btn-active">查询</a></li>
<li><a href="javascript:void(0)" data-icon="star">收藏</a></li>
<li><a href="javascript:void(0)" data-icon="gear">设置</a></li>
</ul>
</div>
</div>
</div>
<div data-role="page" id="index1">
<div data-role="header" data-position="fixed">
<h1>列车时刻表查询</h1>
</div>
<div role="main" class="ui-icon">
<table data-role="table" data-mode="reflow" class="ui-responsive table-stroke" id="table">
<thead>
<tr>
<th>站点</th>
<th>到站时间</th>
<th>出发时间</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
<div data-role="footer" data-position="fixed">
<a href="#" class="ui-btn ui-corner-all" data-rel="back" id="back">返回</a>
</div>
</div>
</body>
</html>
列车时刻表查询 jqm/ajax/xml的更多相关文章
- 练习题(登陆-进度条-微信接口判断qq-微信接口判断列车时刻表-)
1.写一个用户的登陆注册的界面,用户的密码用hashlib加密存在文件中,登陆时候,用户的密码要和文件中的密码一致才行 def sha(password): #加密函数 passwd = hashli ...
- Querying Microsoft SQL Server 2012 读书笔记:查询和管理XML数据 2 -使用XQuery 查询XML数据
XQuery 是一个浏览/返回XML实例的标准语言. 它比老的只能简单处理节点的XPath表达式更丰富. 你可以同XPath一样使用.或是遍历所有节点,塑造XML实例的返回等. 作为一个查询语言, 你 ...
- Querying Microsoft SQL Server 2012 读书笔记:查询和管理XML数据 1 -使用FOR XML返回XML结果集
XML 介绍 <CustomersOrders> <Customer custid="1" companyname="Customer NRZBB&qu ...
- SQL SERVER中XML查询:FOR XML指定PATH
SQL SERVER中XML查询:FOR XML指定PATH 前言 在SQL SERVER中,XML查询能够指定RAW,AUTO,EXPLICIT,PATH.本文用一些实例介绍SQL SERVER中指 ...
- AJAX XML 实例
AJAX XML 实例 下面的例子将演示网页如何使用 AJAX 来读取来自 XML 文件的信息 <!DOCTYPE html> <html> <head> < ...
- django(3) 一对多跨表查询、ajax、多对多
1.一对多跨表查询获取数据的三种形式:对象.字典.元组 例:有host与business两张表,host与business的id字段关联,business在host表中的对象名是b, 通过查询hos ...
- AJAX XML返回类型
例题 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...
- myBatis批量查询操作,xml中使用foreach案例
使用场景:有一个订单表,实体类为OrderBase.java,订单有个状态为status值可能为"1,2,3,4,5,6",现在需要查询状态为"2,3,4"的订 ...
- ajax XML
<script src="jquery-1.11.2.min.js"></script> </head> <body> <se ...
随机推荐
- 【转】启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法! .
转载地址:http://blog.csdn.net/zyz511919766/article/details/7442633 原因1:给定目录下jvm.dll不存在. 对策:(1)重新安装jre或者j ...
- Color Me Less 分类: POJ 2015-06-10 18:24 11人阅读 评论(0) 收藏
Color Me Less Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 31693 Accepted: 15424 D ...
- JAVA基础知识之多线程——线程组和未处理异常
线程组 Java中的ThreadGroup类表示线程组,在创建新线程时,可以通过构造函数Thread(group...)来指定线程组. 线程组具有以下特征 如果没有显式指定线程组,则新线程属于默认线程 ...
- Uva 12186 工人的请愿书
题目链接:https://uva.onlinejudge.org/external/121/12186.pdf 题意: 给出一个树状关系图,公司里只有一个老板编号为0,其他人员从1开始编号.除了老板, ...
- UVa 213,World Finals 1991,信息解码
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...
- Access SQL中Left Join、Right Join和Inner Join的使用
1.表结构 表A 表B 2.Left Join 示例:2.1 Select * From A left join B on A. ...
- Java总结反射
[案例1]通过一个对象获得完整的包名和类名 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package Reflect; /** * 通过一个对象获得完整的包名和类名 ...
- 用于JDBC操作数据库的公共类
/* * @(#)CommonSql.java 2011-9-5 * * Copyright 2011 Bianjing,All rights reserved. */ import java.sql ...
- CodeForces 146A Lucky Ticket
Lucky Ticket Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submi ...
- shoususaiBti
Description 郭橐驼,不知始何名.病偻,隆然伏行,有类橐驼者,故乡人号之驼.驼闻之,曰:“甚善.名我固当.”因舍其名,亦自谓橐驼云.其乡曰丰乐乡,在长安西.驼业种树,凡长安豪富人为观游及卖果 ...