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

 

原文地址:https://www.cnblogs.com/lrj1009IRET/p/9998142.html

时间: 2024-10-12 19:39:18

H5+app -- 关于ajax提交问题的相关文章

ECSTORE AJAX提交的实现

今天向大家介绍在ecstore中怎样使用ajax提交数据 1 <script> 2 //JAVASCRIPT代码 3 $$(".BB").ADDEVENT('CHANGE',FUNCTION(E){ 4 VAR ORDER_ITEM_ID = THIS.GET('ORDER_ITEM_ID'); 5 VAR PRODUCT_NAME= THIS.VALUE; 6 NEW REQUEST.JSON({ 7 URL: "INDEX.PHP?APP=SALE&A

Ajax 提交表单【包括文件上传】

利用js插件实现 <script src="@Url.Content("~/js/layer/jquery.form.min.js")"></script> 实例代码 前端: @using WebSearch.EFDB; @{ ViewBag.Title = "UploadFeeCertificate"; NoveltyProxy proxy = ViewData["Proxy"] as Novelty

Ajax 提交KindEditor的数据

这次我是在EasyUI中使用了KindEditor的编辑器,按照官方给的代码,总是无法获取编辑器里面的值(内容),如下: KindEditor.ready(function (K) { var editor1 = K.create('#content', { cssPath: '../js/plugins/code/prettify.css', uploadJson: 'upload_json.ashx', fileManagerJson: 'file_manager_json.ashx', a

向后台提交数据:通过form表单提交数据需刷新网页 但通过Ajax提交数据不用刷新网页可通过原生态Ajax或jqueryAjax。Ajax代码部分

原生态Ajax提交表单:需要借助XMLHttpRequest对象的open,要收通过post发送请求还要setRequsetHeader,然后把数据发送给后端,代码如下 目录结构 index.py代码 1 #index.py 2 #!/usr/bin/env python 3 #-*- coding:utf-8 -*- 4 import tornado.web 5 import tornado.ioloop 6 class indexHandler(tornado.web.RequestHand

jquery ajax提交表单数据的两种方式

jquery ajax提交表单数据的两种方式

django ajax提交避免csrf错误的方法

使用django 防御csrf功能时,ajax提交表单 {{ csrf_token }}加入到data里面,可避免csrf错误.位置如下红色标注: $.ajax({    :,    :{:.,},    :,    :(callback){       callback = jQuery.parseJSON(callback);       (callback.> ){          .()          .(callback[].);          =callback[].- .

JavaWeb开发中form、ajax提交数据Model转化

JavaWeb开发中form.ajax提交数据Model转化 问题 最近学习MongoDB数据库,作为java开发的我,当然需要做个小的web程序来测试一番了.在html中我采取ajax提交方式,因为我要模拟各种类型的数据,基础数据类型.数组.对象等.然而,最终发现了个不同的地方:Form和ajax提交数据,在HttpServletRequest中尽然参数名有所不同. 数据类型 form ajax 基础数据 para=value para=value 数组 para[]={"aaa",

利用jquery进行ajax提交表单和附带的数据

1.获取表单数据: $form.serialize() 2.附带数据:input[status]=1 3.构造url链接:url = $form.attr('action') + '?input[status]=1' 3.ajax提交:$.post(url, post_data, function(res){xxx}, 'json'); 4.后台php接收 $_REQUEST['input'];(input是一个数组存放提交的所有数据)

ajax提交表单

ajax提交表单在项目中常用,前台无论是简单的html.jsp或者是使用了easyui框架,提交表单都会使用到ajax,extjs框架其实也是使用了ajax只不过对其进行了封装了,我们使用的时候就更固定了些. 总的来说ajax提交表单可以分为两种,一种是无返回结果的,就是将表单数据提交给后台,后台处理完就完了:另一种就是有返回结果的,后台执行成功或失败的信息需要返回到前台. 1,无返回结果的 最简单的就是$("#formid").submit();直接将form表单提交到后台. 2,有