最近在学习用mui做手机app,主要方式是模仿公司前辈写的其他页面的代码。
下面是我今天做的一个功能模块:私家车登记
页面是模仿看到的还不错的页面写的,如下:
功能描述:填写信息,点击确认将数据通过接口提交到后台保存到数据库中去。
这里提到的接口是人家写好提供的,如下:
http://61.135.19.182:888/pa_SpAcs/process/pms_vradd?PlateNo=A30525&CardNo=admin&CarColor=1&CarType=1&PlateColor=0&PlateType=0&CarBrand=fk&Driver=sss&DriverName=asmij&DriverPhone=13955649968&Authorize=1001&orgType=1&type=APP
通过浏览器访问后结果:
{"success":true,"meg":"插入成功","z_pms_vehicle":[20]}
如何实现?
说起来挺简单的,点击确定时触发事件,获取表单中的值,通过ajax将值传到后台,后台响应成功。
但是因为是模仿前辈其他类似功能的页面写的,那个页面参数是转成xml格式后再通过ajax传到后台的,然后我傻傻的模仿,结果一直报500错误,折腾了不少时间大概知道是xml的错误,具体又不清楚,只能把错误和疑惑整理成文档发给前辈求救。
前辈说了如下几句话:
这个接口他不是提交xml的,你打开地址的那个不是很清楚吗
你看你访问的正确的接口是xml吗
直接提交参数,不要转换成xml
明白了,到底是经验不够,学的不精的锅!!
滋味难以抒发,更觉要好好学习。
下面是script的代码,改正过后的,直接将地址和参数拼接通过ajax访问
<script type="text/javascript">
mui.init();
var xmlhelper=new XmlHelper();
var type=document.getElementById("app").value;
var PlateNo=document.getElementById("plateNo").value;
var CardNo=document.getElementById("cardNo").value;
var CarColor=document.getElementById("carColor").value;
var CarType=document.getElementById("carType").value;
var PlateColor=document.getElementById("plateColor").value;
var PlateType=document.getElementById("plateType").value;
var CarBrand=document.getElementById("carBrand").value;
var Driver=document.getElementById("cardNo").value;
var DriverName=document.getElementById("driverName").value;
var DriverPhone=document.getElementById("driverPhone").value;
var Authorize=document.getElementById("authorize").value;
var orgType=document.getElementById("orgType").value;
var param="?PlateNo="+PlateNo+"&CardNo="+CardNo+"&CardNo="+CardNo+"&CardNo="+CardNo
+"&CarColor="+CarColor+"&CarType="+CarType+"&PlateColor="+PlateColor+"&PlateType="+PlateType+"&CarBrand="+CarBrand
+"&Driver="+Driver+"&DriverName="+DriverName+"&DriverPhone="+DriverPhone+"&Authorize="+Authorize+"&orgType="+orgType
+"&type="+type;
var domXml = '<?xml version="1.0" encoding="utf-8" ?>';
function addCar(){
//在这定义避免拼接重复
var CarDetails = "";
var CarPerson = "";
var CarCar = ""
validFrom("detailForm",function(i,il,check){
if(check){
var url ="/process/pms_vradd"+param;
baseAjax(url,null,'JSON',function(data){
var d = eval('(' + data + ')');
if(d.success){
mui.alert("保存成功","提示");
mui.back();
}
});
}
});
}
</script>
<script type="text/javascript">
mui.init();
var xmlhelper = new XmlHelper();
var type = document.getElementById("app").value;
var PlateNo = document.getElementById("plateNo").value;
var CardNo = document.getElementById("cardNo").value;
var CarColor = document.getElementById("carColor").value;
var CarType = document.getElementById("carType").value;
var PlateColor = document.getElementById("plateColor").value;
var PlateType = document.getElementById("plateType").value;
var CarBrand = document.getElementById("carBrand").value;
var Driver = document.getElementById("cardNo").value;
var DriverName = document.getElementById("driverName").value;
var DriverPhone = document.getElementById("driverPhone").value;
var Authorize = document.getElementById("authorize").value;
var orgType = document.getElementById("orgType").value;
var param = "?PlateNo=" + PlateNo + "&CardNo=" + CardNo + "&CardNo=" + CardNo + "&CardNo=" + CardNo +
"&CarColor=" + CarColor + "&CarType=" + CarType + "&PlateColor=" + PlateColor + "&PlateType=" + PlateType + "&CarBrand=" + CarBrand +
"&Driver=" + Driver + "&DriverName=" + DriverName + "&DriverPhone=" + DriverPhone + "&Authorize=" + Authorize + "&orgType=" + orgType +
"&type=" + type;
var domXml = '<?xml version="1.0" encoding="utf-8" ?>';
function addCar() {
//在这定义避免拼接重复
var CarDetails = "";
var CarPerson = "";
var CarCar = ""
validFrom("detailForm", function(i, il, check) {
if(check) {
var url = "/process/pms_vradd" + param;
baseAjax(url, null, 'JSON', function(data) {
var d = eval('(' + data + ')');
if(d.success) {
mui.alert("保存成功", "提示");
mui.back();
}
});
}
});
}
</script>
第一个代码格式有点乱,不会删,下面又贴了一个一样的。