H5+app -- 关于ajax提交问题
Posted 弹琴不谈情
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了H5+app -- 关于ajax提交问题相关的知识,希望对你有一定的参考价值。
1、前阵子在做系统的h5+ app为满足手机端也能进行业务操作,例如:提货,扫描入库之类的。所以就要将做接口,从手机端调用后台系统的方法。
2、例如这样的请求格式,但是呢,每次请求它都直接跳到error,刚开始还以为是网络问题,就连上wifi试了试,发现还是直接跳error。然后就开始怀疑请求格式了。。。
如下:
function openScan(data) { mui.ajax(OPENSCAN, { data: data, dataType: \'json\', type: \'post\', timeout: 10000, headers: { \'Content-Type\': \'application/json\', \'accessToken\': localStorage.getItem(\'accessToken\') }, success: function(result) { JQ("#prompt1").html(""); }, error: function(xhr, type, errorThrown) { app.ajaxError(xhr, type, errorThrown); } }); }
3、其实是正确的格式。。。最后突然想起来,tm。。。原来只有一个文本框,这时候已经是1个多小时后了。
4、所以一个文本框时会出现bug,历史由来已久,想了解问度娘。
5、所以顺便说说一个文本框bug解决的方法。
a.最简单就是直接多加一个文本框,然后进行隐藏。
如下:
<form class="mui-input-group"> <div class="mui-input-row"> <label style="font-size: 90%;">扫描条码:</label> <input type="text" class="mui-input-clear" placeholder="请输入条码" id="trackingNo" value="" style="color: blue"> </div> <div class="mui-input-row" style=" display: none;"> //格式随意,只要不是一个文本框,就没有问题了 <input type="text" class="mui-input-clear" placeholder="隐藏" id="trackingNo1" value=""> </div> </form>
b. 使用preventDefault()方法,preventDefault() 方法阻止元素发生默认的行为(例如,当点击提交按钮时阻止对表单的提交)。
如下:
doc.querySelector(\'#trackingNo\').addEventListener(\'keydown\', function(e) {
e.preventDefault(); if(e.keyIdentifier == "Enter") { var trackingNo = JQ(\'#trackingNo\').val(); if(trackingNo == null || trackingNo == \'\') { alert("扫描条码不能为空!"); return; } openScan(trackingNo); } });
后记:转发请注明出处:https://www.cnblogs.com/lrj1009IRET/p/9998142.html
以上是关于H5+app -- 关于ajax提交问题的主要内容,如果未能解决你的问题,请参考以下文章
H5 通过Ajax方式上传文件,使用FormData进行Ajax请求