>  기사  >  위챗 애플릿  >  WeChat 미니 프로그램 요청 요청에 대한 자세한 소개

WeChat 미니 프로그램 요청 요청에 대한 자세한 소개

高洛峰
高洛峰원래의
2017-03-26 13:29:543624검색

WeChat 미니 프로그램의 데이터 상호작용에 대해 이야기하세요---wx.request

공식 문서에는 wx.request가 https 요청을 시작한다고 명시되어 있습니다. 서버가 http 사이트인 경우 다음을 수행해야 합니다. 구성. http to https 튜토리얼

을 참조할 수 있습니다. 하지만 서버가 없거나 배경 코드를 작성하고 싶지 않은 경우 여기에서 제공한 인터페이스를 호출할 수 있습니다. 이 기사에서는 방법을 소개합니다. 그것을 사용하려면.

우선 서버쪽부터 준비를 시작해야겠습니다. 프레임워크는 spring+springMVC+spring 데이터입니다.

인터페이스의 컨트롤러 레이어 https://www.itit123.cn/itdragon/findAll

소스 코드:

@RequestMapping(value="findAll")
	@ResponseBody
	public Object listWxDatas(@RequestParam(value = "page", defaultValue = "1") int pageNumber,
			@RequestParam(value = "pageSize", defaultValue = PAGE_SIZE) int pageSize,
			@RequestParam(value = "sortType", defaultValue = "auto") String sortType, 
			ServletRequest request){
		pageSize = pageSize > 10? 10 : pageSize;
        try {
			Map<string> searchParams = Servlets.getParametersStartingWith(request, "search_");
			Page<wxdata> WxDatas = wxDataService.getWxData(searchParams, pageNumber, pageSize, sortType);
			List<map>> resultList = new ArrayList<map>>();
			for (WxData WxData : WxDatas) {
				Map<string> resultMap = new HashMap<string>();
				resultMap.put("id", WxData.getId());
				resultMap.put("title", WxData.getTitle());
				resultMap.put("content", WxData.getContent());
				resultMap.put("src", WxData.getImageUrl());
				resultMap.put("time", WxData.getCreatedDate());
				resultList.add(resultMap);
			}
			return gson.toJson(resultList);
        } catch (Exception e) {
			e.printStackTrace();
		}  
        return null;
	}</string></string></map></map></wxdata></string>

코드의 일반적인 논리는 확인하는 것입니다. 한 번에 최대 10개의 데이터를 처리하고, 결과를 id별로 내림차순으로 정렬합니다. 코드는 객체 전체를 컬렉션에 담는 것이 아니라 필수 컨텐츠(ID, 기사제목, 미리읽은 컨텐츠, 메인 이미지, 생성시간)를 맵에 넣은 후 컬렉션에 담아 json으로 변환하는 것입니다. 데이터를 반환하는 형식입니다. (참고: 이 코드는 현재 요구 사항(쿼리 데이터)에만 해당됩니다. 향후 풀다운 새로 고침, 풀업 로딩, 검색 및 정렬을 수행할 때 코드가 수정될 수 있습니다. 페이징 쿼리: WeChat Mini 시작하기 프로그램 5: 위로 스와이프하여 로드하고 아래로 당겨 새로 고침).

서버 인터페이스 코드가 준비된 후에는 테스트를 위해 서둘러 온라인에 접속할 수 없습니다. Google 브라우저의 우편 배달부를 사용할 수 있습니다.

WeChat 미니 프로그램 요청 요청에 대한 자세한 소개

인쇄 결과를 확인하여 성공 여부를 확인하세요

WeChat 미니 프로그램 요청 요청에 대한 자세한 소개

그런 다음 WeChat 애플릿에서 테스트 페이지 준비를 시작하세요. 데이터 상호 작용 수행 .

test.wxml:

<view>
    <textarea></textarea>
</view>
<button>request</button>

test.js:

Page({
  data: {
    textdata: "测试 wx.request",
  },
  RequestData: function () {
    var that = this;
    wx.request({
      url: 'https://www.itit123.cn/itdragon/findAll',
      data: {},
      method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
      // header: {}, // 设置请求的 header 默认是application/json
      success: function (res) {
        // 操作json数据
        var text ="";
        for(var i in res.data) {
          text += i + "." + res.data[i].title + "\r\n";
        }
        that.setData({ textdata: text});
      },
      fail: function () {
        // fail
      },
      complete: function () {
        // complete
      }
    })
  },
  onLoad: function (options) {
    // 页面初始化 options为页面跳转所带来的参数
  },
  onReady: function () {
    // 页面渲染完成
  },
  onShow: function () {
    // 页面显示
  },
  onHide: function () {
    // 页面隐藏
  },
  onUnload: function () {
    // 页面关闭
  }
})


테스트 페이지 렌더링:

WeChat 미니 프로그램 요청 요청에 대한 자세한 소개

테스트에 문제가 없다면 list.js의 코드를 수정해보세요.

필요에 따라 수정할 수 있습니다. (그냥 func를 ajax로 바꿨습니다.)

// pages/list/list.js
var app = getApp();
Page({
  data:{
    msgList:[]
  },
  onLoad:function(options){
    // 页面初始化 options为页面跳转所带来的参数
    var that = this
    app.ajax.req('/itdragon/findAll',{},function(res){  
      that.setData({
        msgList:res
      })
    });
  },
  onReady:function(){
    // 页面渲染完成
  },
  onShow:function(){
    // 页面显示
  },
  onHide:function(){
    // 页面隐藏
  },
  onUnload:function(){
    // 页面关闭
  }
})


반환된 데이터 구조가 딱 제가 필요한 포맷이어서 직접 할당해줬거든요.

렌더링:

WeChat 미니 프로그램 요청 요청에 대한 자세한 소개

이 장의 학습 포인트:

1. wx.request WeChat 공식 문서 사용.

2. that = this;라는 변수에 값을 할당하는 방법.

3. 개발 아이디어.

위 내용은 WeChat 미니 프로그램 요청 요청에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.