微信小程序與java後臺交互

java後臺使用的ssm框架,小程序鏈接的本地接口。跟正常的web訪問沒什麼區別,也是後臺獲取url,返回json數據;只是小程序前臺請求的url要帶上http://localhost:8080
1. 項目結構html


2. 配置文件:java

Jackson相關包下載 除去裏面的js文件
3. test.js和test.wxml
(1) test.jsweb

bindtest:function(){
    wx.request({
      url:'http://ip:8080/WxProgram/buttonTest2',
      data:{
        username:'admin',
        password:'admin'
      },
      method:'GET',
      header:{
        'content-type':'application/json'
      },
      success:function(res){
        console.log(res.data);
      },
      fail:function(res){
        console.log("--------fail--------");
      }
    })
  }

(2) test.wxmlajax

  <view>{{name}}</view>
  <view>
  <button bindtap='bindtest'>test</button>
  </view>

4. WxTestController.javajson

@RequestMapping(value="/buttonTest2")
    public void buttonTest(String username, String password, HttpServletResponse response) throws ServletException, IOException{
        response.setContentType("text/html;charset=utf-8");          
        /* 設置響應頭容許ajax跨域訪問 */  
        response.setHeader("Access-Control-Allow-Origin", "*");  
        /* 星號表示全部的異域請求均可以接受, */  
        response.setHeader("Access-Control-Allow-Methods", "GET,POST");  
       
        System.out.println("username="+username+" ,password="+password);
        
        //返回值給微信小程序
        Writer out = response.getWriter(); 
        out.write("進入後臺");
        out.flush(); 
    }

運行結果:小程序

小程序前臺:微信小程序

java後臺:跨域

開始一直沒有連成功,後來百度發現要先設置一下。參考這裏
在請求本地接口時,要開啓"不校驗請求域名、TLS版本及HTTPS證書"選項:設置->項目設置->不校驗請求域名、TLS版本及HTTPS證書。由於wx.request的url請求中不能有端口。微信

     

 

 

遠程訪問app

因爲先後臺是兩我的開發的,須要遠程訪問。而由於註冊的阿里雲域名審查時間長,暫時用的花生殼遠程鏈接。方法:下載花生殼客戶端,使用免費贈送的域名,這裏花了六塊錢,忘了哪花的了。
登陸花生殼,設置內網穿透->添加映射。內網主機即本機ip地址,cmd,用ipconfig命令查看ipv4地址。如圖。


這裏遇到一個問題,添加的映射一直沒顯示,後來經過客服後臺操做才顯示成功。如圖。


添加成功以後,啓動Tomcat,以前的內網訪問地址http://ip:8080就能夠改用對應的外網訪問地址來訪問了。

花生殼教程:http://service.oray.com/question/2480.html

相關文章
相關標籤/搜索