目录
1.鸿蒙app发送网络请求
首先要对前端鸿蒙项目中的Config.json进行更改
"deviceConfig": {
"default": {
"process": "com.huawei.hiworld.example",
"supportBackup": false,
"network": {
"cleartextTraffic": true
}
}
},
"reqPermissions": [
{
"name": "ohos.permission.GET_NETWORK_INFO"
},
{
"name": "ohos.permission.SET_NETWORK_INFO"
},
{
"name": "ohos.permission.INTERNET"
}
]
安装qs和querystring
npm install qs 和 npm install querystring
qs.stringify把一个参数对象格式化为一个字符串,将对象 序列化成 URL 的形式(a=b&c=d),以&进行拼接
前端js部分代码如下
import qs from "querystring";
import fetch from '@system.fetch';
export default {
data: {
winfo:"",
},
onClick(){
fetch.fetch({
url: 'http://127.0.0.1:8000/login/AppReq/',
data: qs.stringify({'name':'lqc404'}),
responseType:'json',
method: "POST",
success:(resp)=>
{
this.winfo = resp.data;
console.log("返回的数据:"+this.winfo);
},
fail:(resp)=>
{
this.winfo = resp.data;
console.log("返回的数据:"+this.winfo);
}
})
}
}
2.Django后端接受网络请求显示数据内容
在url中创好接口,在views中写方法来接受网络请求
from django.urls import path
from login.views import AppReq
app_name = "login"
urlpatterns = [
path('AppReq/', AppReq.as_view())
]
class AppReq(APIView):
def post(self, request):
result = models.User.objects.filter(name='lqc404')
arr = []
for i in result:
content = {'姓名': i.name, '密码': i.password}
arr.append(content)
print(arr)
print(type(arr))
id = request.data.get('id')
name = request.data.get('name')
password = request.data.get('password')
print(id)
print(name)
print(password)
return HttpResponse(arr)
写好之后可以使用ApiPost对端口进行测试
测试端口可以正常接受POST请求,并返回数据