首页 > 其他分享 >HarmonyOS实现登录页面(一)相关html代码(部分),js代码

HarmonyOS实现登录页面(一)相关html代码(部分),js代码

时间:2022-12-12 01:44:05浏览次数:70  
标签:info console err header 代码 js HarmonyOS http data

首先在HarmonyOS中和vue不一样数据不是双向绑定。

为了页面简洁,样式相关代码一律忽略

on:change="changeUsername"表示当输入框的值发送变化的时候调用对应函数changeUsername

html相关代码

<input  type="text" placeholder="请输入手机号/邮箱/个人账号" on:change="changeUsername"/>

js相关代码

数据存放

data: {
    user:{
        username:'',
        password:''
    }
}

实现函数changeUsername。
event是函数自带的值。

changeUsername(event){//通过方法获得输入框的值
    this.user.username = event.value;
}

一个login函数,里面包括http请求和router.push页面跳转

login(){
    // 每一个httpRequest对应一个http请求任务,不可复用
    let httpRequest = http.createHttp();
    httpRequest.request(
        // 填写http请求的url地址,可以带参数也可以不带参数。URL地址需要开发者自定义。请求的参数可以在extraData中指定
        "EXAMPLE_URL",
        {
            method: http.RequestMethod.POST, // 可选,默认为http.RequestMethod.GET
            // 开发者根据自身业务需要添加header字段
            header: {
                'Content-Type': 'application/json'
            },
            // 当使用POST请求时此字段用于传递内容
            extraData: {
                "data": "data to send",
            },
            connectTimeout: 60000, // 可选,默认为60s,连接超时时间
            readTimeout: 60000, // 可选,默认为60s,读取超时时间
        }, (err, data) => {//err成功与否,data后台服务器返回的结果
            if (!err) {//成功
                // data.result为http响应内容,可根据业务需要进行解析
                console.info('Result:' + data.result);
                console.info('code:' + data.responseCode);
                // data.header为http响应头,可根据业务需要进行解析
                console.info('header:' + JSON.stringify(data.header));
                console.info('cookies:' + data.cookies); // 8+
            } else {//失败
                console.info('error:' + JSON.stringify(err));
                // 当该请求使用完毕时,调用destroy方法主动销毁。
                httpRequest.destroy();//对象销毁
            }
        }
    );
    router.push({
        url:'pages/main/main'
    });
}

js全部代码

import router from '@ohos.router'
import http from '@ohos.net.http';
export default {
    data: {
        user:{
            username:'',
            password:''
        }
    },
    onInit() {
    },
    changeUsername(event){//通过方法获得输入框的值
        this.user.username = event.value;
    },
    changePassword(event){//通过方法获得输入框的值
        this.user.username = event.value;
    },
    login(){
        // 每一个httpRequest对应一个http请求任务,不可复用
        let httpRequest = http.createHttp();
        httpRequest.request(
            // 填写http请求的url地址,可以带参数也可以不带参数。URL地址需要开发者自定义。请求的参数可以在extraData中指定
            "EXAMPLE_URL",
            {
                method: http.RequestMethod.POST, // 可选,默认为http.RequestMethod.GET
                // 开发者根据自身业务需要添加header字段
                header: {
                    'Content-Type': 'application/json'
                },
                // 当使用POST请求时此字段用于传递内容
                extraData: {
                    "data": "data to send",
                },
                connectTimeout: 60000, // 可选,默认为60s,连接超时时间
                readTimeout: 60000, // 可选,默认为60s,读取超时时间
            }, (err, data) => {//err成功与否,data后台服务器返回的结果
                if (!err) {//成功
                    // data.result为http响应内容,可根据业务需要进行解析
                    console.info('Result:' + data.result);
                    console.info('code:' + data.responseCode);
                    // data.header为http响应头,可根据业务需要进行解析
                    console.info('header:' + JSON.stringify(data.header));
                    console.info('cookies:' + data.cookies); // 8+
                } else {//失败
                    console.info('error:' + JSON.stringify(err));
                    // 当该请求使用完毕时,调用destroy方法主动销毁。
                    httpRequest.destroy();//对象销毁
                }
            }
        );
        router.push({
            url:'pages/main/main'
        });
    }
}

标签:info,console,err,header,代码,js,HarmonyOS,http,data
From: https://www.cnblogs.com/chuixulvcao/p/16975065.html

相关文章

  • js的File对象,Blob和file相互转换
    一、Blob转成FileMDNFile()letblob=newBlob(['这里是要转换的字符串或者图片等'],{type:"text/plain;charset=utf-8"});console.log("Blob对象",blob);let......
  • 解决aspnetcore-browser-refresh.js:234 WebSocket connection to 'wss://localhost:6
    前言前段时间升级了VisualStudio到v17.1.1最新版本,然后今天来运行之前的一个.net5项目一直提示:aspnetcore-browser-refresh.js:234WebSocketconnectionto'wss://......
  • Nuxt.js IIS部署,Nuxt.js 发布部署vue-cli 安装 2020最新 vue 4.0安装
    第一步:服务器安装node.js环境1、安装node.js下载地址​​http://nodejs.cn/download/​​我是全部默认下一步的,安装成功之后运行命令查看是否安装成功如果没有出现版本号,......
  • JS AJAX跨域详解,支持get和post请求
    前述:先了解下什么是跨域,什么是同源详解跨域请求的两种方式,支持post请求JSAJAX跨域被阻止CORS头缺少'ACCESS-CONTROL-ALLOW-ORIGIN'(只要代码的看这个,其他的偏理论)JSONP实......
  • 用Visual Studio Code和码云 管理代码--【初级全解】2019-11-01
    准备内容​​注册码云(Gitee)​​​,创建一个项目,得到项目url:​​https://gitee.com/cplvfx/CPUIAdmin​​​​下载git​​安装,全都按下一步就行了。​​下载VSCode​​......
  • c# - Visual Studio会使用旧版本覆盖新版本的NewtonSoft.Json.DLL
    https://code-examples.net/zh-TW/q/1572f57您的csproj包含一個帶有Newtonsoft.Jsondll無效路徑的引用。在我的情況下,它是<HintPath>..\..\packages\Newtonsoft.Json\l......
  • C++代码到可执行二进制文件的过程
    C++工程从代码到可运行文件要经历四个过程,分别是预编译、编译、汇编、链接。1、预编译(1)将所有的#define删除,并展开宏定义。意味着代码替换。(2)处理所有的条件预编译指令,......
  • 独家|手把手教你赋能Jupyter Notebooks!(附代码)
    作者:PranjalChaubey翻译:宋文伯校对:丁楠雅本文约1700字,建议阅读5分钟。本文将通过介绍JupyterNotebook的附加扩展组件和指令,为JupyterNotebook赋能。帮助Python使用者大大......
  • 前端代码自动化
    旧文章从语雀迁移过来,原日期为2022-11-24前言一个项目从0到1,再到迭代开发过程,必然会很多不同的人在项目上编写代码,而每个人输出代码的风格是不一样的。为了统一基本的......
  • JSP连接数据库
    我们选择直接用jsp连接数据库。规范写法其实是放到模型控制层中的DAO(DataAccessObject)层中步骤导入数据库jar包注册驱动Class.forName("com.mysql.jdbc.Driver")......