掃碼槍掃碼觸發接口傳遞參數(實例)


前兩天因為業務需要,研究了一下掃碼槍,得出了兩個笨方法,用於掃碼后調用接口傳輸數據

 

方法一

1.先生成一個二維碼,改二維碼里的數據就是你要請求需要向接口所傳遞的數據

2.然后寫一個html頁面,里面就放一個input框就好了,這個input框就是用來接收你二維碼里面的數據的

3.寫一段js,讓用戶打開頁面后input自動永久聚焦

4.再寫一段js,檢測input里面是不是有輸入內容,如果有,那么則拿到里面的內容觸發ajax把內容提交過去,提交成功后清除掉input里面的value值即可

 

附上代碼:

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<script type="text/javascript" src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script>
    <input type="text" id="d1" value="" style="opacity:0;">
<script type="text/javascript">
    var a = [];
    var timeout;
$("input").keyup(function(){
    a.push($(this).val());
    clearTimeout(timeout);
      timeout = setTimeout(function(){
          var b = a.pop();
          
        $.ajax({
           url:b,
           type:"post",
           data:{},
           jsonType:"json",
           success:function(a){
              $('input').val("");
              console.log(a);
           },
           error:function(e){
              alert("錯誤");
              $('input').val("");
            }
        });
  },1000);
});

//input自動永久聚焦
$(document).ready(function(){
$("input").focus();
})
$(function () {
  $('#d1').blur(function () {
  var that = this; //或者用閉包 
  setTimeout(function () { $(that).focus(); },100); }); });
  $('#d1').blur(function() {$(this).focus();
});

</script>
</body>
</html>

 

方法2:

因為掃碼槍在掃碼的時候會自動觸發submit,那么我們可以利用這個點,去實現form表單提交

如:

     <form method="post" action="https://www.cnblogs.com/junyi-bk"> 
            <input type="text" id="d1" value="">
            <input type="submit">
     </form>

該方法比方法一要簡單很多,因為我們是利用掃碼槍自動觸發submit的特效來提交,所以也不用寫ajax,但是缺點就是,傳遞過去的數據只能是一條。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM