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请求

H5+app前端后台ajax交互总结

关于APP内嵌H5后退按钮问题

关于APP内嵌H5后退按钮问题

5月20日重点:当请求的参数是动态的形式时,原生app与h5页面之间数据交互的方法

html 输入类型提交通常在单击时重新加载页面。此片段使输入不重新加载页面以便进行ajax调用