Skip to main content

my.request

request

Last updated on

my.request là API dùng để thực hiện các network request. Hiện chỉ hỗ trợ những request qua giao thức https.

Ứng dụng của bạn sẽ được chạy trong môi trường cô lập thuần javascript nên sẽ không có các hàm gọi network thông thường như fetch hay XMLHttpRequest. Để thực hiện gọi network bạn phải dùng đến my.request.

Quan trọng

Bạn cần phải thêm tên miền trong phần Cài đặt chung của ứng dụng trên Tini Console trước khi sử dụng các Networking API và Webview. Xem phần hướng dẫn tại đây.

Quét mã để trải nghiệm

Xem code mẫu trên Tini Studio

Demo

Trải nghiệm thử với trình giả lập bên dưới

API Params

Để cấu hình việc gọi network, bạn cần truyền object với các thuộc tính sau:

Thuộc tínhKiểu dữ liệuBắt buộcMô tả
urlstringĐường dẫn muốn gọi tới.
headersobjectCấu hình headers khi thực hiện gọi network.
methodstringPhương thức gọi network. Mặc định sẽ là GET.
dataobjectData kèm theo trong request.
timeoutnumberRequest sẽ bị cancel sau khoảng thời gian timeout. Đơn vị là mili giây (ms); mặc định là 30,000 (30s)
dataTypestringQuy định định dạng dữ liệu (data format) trả về sau request. Hỗ trợ JSON, text, base64 và arraybuffer; mặc định là JSON.
includeHeaderbooleanQuy định dữ liệu trả về trường hợp thành công có bao gồm headers hay không.
successFunctionCallback function khi việc gọi network thành công.
failFunctionCallback function khi việc gọi network thất bại.
completeFunctionCallback function khi việc gọi network kết thúc cho dù thành công hay thất bại.

Khả dụng: Định dạng arraybuffer được hỗ trợ từ runtime version 1.85 trở đi.

Callback success function payload

Thuộc tínhKiểu dữ liệuMô tả
datastringDữ liệu trả về. Định dạng của nó phụ thuộc vào tuộc tính dataType.
headersObjectHeader trả về trường hợp includeHeader : true.
statusnumberMã trả về (Response code). Mặc định là 200.
statusTextstringThông điệp trả về tương ứng với mã trả về. Mặc định sẽ là OK.

Sample Code

<view class="page">
<view class="page__section">
<view class="page__section__content">
<text>my.request</text>
<text>{{JSON.stringify(response)}}</text>
<view class="page__section__buttons">
<button
onTap="makeRequest"
>{{loading ? "Loading..." : "Query"}}</button>
<button onTap="clear">Clear</button>
</view>
</view>
</view>
</view>
Page({
data: {
response: {},
loading: false
},
makeRequest() {
this.setData({ loading: true });
my.request({
url: 'https://httpbin.org/post',
method: 'POST',
success: (response) => {
this.setData({ response, loading: false });
}
});
},
clear() {
this.setData({ response: {} });
}
});