H5+app -- 關於ajax提交問題

  一、前陣子在作系統的h5+ app爲知足手機端也能進行業務操做,例如:提貨,掃描入庫之類的。因此就要將作接口,從手機端調用後臺系統的方法。javascript

  二、例如這樣的請求格式,可是呢,每次請求它都直接跳到error,剛開始還覺得是網絡問題,就連上wifi試了試,發現仍是直接跳error。而後就開始懷疑請求格式了。。。html

 以下:java

       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);
              }
           });    
    }

  三、實際上是正確的格式。。。最後忽然想起來,tm。。。原來只有一個文本框,這時候已是1個多小時後了。ajax

  四、因此一個文本框時會出現bug,歷史由來已久,想了解問度娘。json

  五、因此順便說說一個文本框bug解決的方法。網絡

    a.最簡單就是直接多加一個文本框,而後進行隱藏。app

    以下: post

<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() 方法阻止元素髮生默認的行爲(例如,當點擊提交按鈕時阻止對錶單的提交)。ui

    以下:spa

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

相關文章
相關標籤/搜索