收藏
回答

登录验证问题,该怎么写?

H5登录js代码

    var login=function(){
        var a={
            Name:$("#login-details input[name='Name']").val(),
            Password:$("#login-details input[name='Password']").val(),
            remember:$("#login-details input[name='remember']").is(":checked")?1:0};
        $.ajax({
            url:"/User/Login",
            type:"post",
            dateType:"json",
            data:a,
            success:function(c){
                if(c.result!=1){
                    $("#login-details span[data-target='login-msg']").text(c.msg).show()
                }
                else{
                    var b=document.referrer;
                    if(b==""||b==undefined||b==null){
                        location.href="https://www.lantola.com"
                    }
                    else{
                        location.href=""+b+""
                    }
                }
            },
            error:function(b){}
        });
        return false
    };


小程序wxml

  <form action="" bindsubmit="loginSubmit">
    <view>手机号码 / 企业名称</view>
    <view><input type="text" name="username" confirm-type="next"/></view>
    <view>密码</view>
    <view><input type="text" name="password" password/></view>
    <label>
      <checkbox checked="checked"></checkbox>
      <text>保持登录状态</text>
    </label>
    <button formType="submit">登录</button>
  </form>


小程序js

var app = getApp();
Page({
  /**
   * 页面的初始数据
   */
  data:{
    username:'',
    password:''
  },
  loginSubmit:function(e){
    let{username,password}=e.detail.value;
    if(!username || !password){
      wx.showToast({
        title: '用户名或密码错误',
        icon:'none'
      })
    }
  }
})

用的腾讯云服务器,H5是程序猿写的。目前自学小程序写法,不知道这个$.ajax({ })该怎么写。是不是很难学?求指点

只会写错误时信息提示。。。

回答关注问题邀请回答
收藏

3 个回答

  • 寡王
    寡王
    2020-10-20
    wx.request
    是请求方式,一般我们都会先用Promise封装一下,然后你这边的需求是登录验证,无非就是用户填写账号密码后发起请求给后台进行验证xi下面贴我的封装方法
    app.js:
    httpGet: function (url, data{
        var that = this;
        return new Promise(function (resolve, reject{
          wx.request({
            url: that.globalData.domain + url,
            data: data,
            method"GET",
            header: {
              'Authorization': that.globalData.token
            },
            successfunction (res{
              if (res.statusCode >= 200 && res.statusCode < 300) {
                resolve(res.data);
              } else {
                reject(res);
              }
            },
            failfunction (res{
              reject(res);
            },
            completefunction () {
            }
          })
        });
      },
    页面顶部引入:
    var app = getApp();//每个页面都要
    js调用上方封装的请求方法:
    app.httpGet("请求地址(请求头在app.js里)", {
      ”这里是data传参:如果没有参数就直接把花括号和前面的,删掉即可“
    }).then(res => {
    “请求成功”
    }).catch(error => {
    "请求失败"
        wx.showToast({
           title: error.message,
           icon'none'
        });
    })
    以上可以复制带走研究
    


    2020-10-20
    有用
    回复 2
    • 寡王
      寡王
      2020-10-20
      封装的时候用httpGet,页面就自己调用httpGet即可
      我这边是单独封装,如果你需要post等其他方法只需把封装的httpGet复制一遍把method: ‘GET’,改成POST然后httpGet改成httpPost即可名字随便,其他请求方式都一样
      2020-10-20
      回复
    • 解斌
      解斌
      发表于移动端
      2020-10-20回复寡王
      很详细,小白看得云里雾里,仔细研究下不懂再问,谢谢!
      2020-10-20
      回复
  • จุ๊บ
    จุ๊บ
    2020-10-20

    url 就是ajax的请求地址

    data:{name:"张三",mobile:"16534567890"}

    2020-10-20
    有用
    回复
  • 解斌
    解斌
    2020-10-19

    网上搜了一下,是不是应该用

    wx.request({
      url:'',
      data:,
      header:{'content-type':'application/json'},
      success:function(){
      }
    }),
    然后url和data该怎么写呢?
    
    2020-10-19
    有用
    回复 2
    • 寡王
      寡王
      2020-10-30
      url是请求地址,这个地址是后端给你的,data你可以理解为参数,在data你传后台想要的东西
      比如你请求一个商品详情,后端又不知道你要哪个商品你就可以传  id:1 当然这个’id‘名字也是后台给你的一般后台都会有一个接口文档的,里面会告诉你某个接口地址是什么,这个接口干什么的,你需要传什么参给他,他会给你返回什么数据
      2020-10-30
      回复
    • 寡王
      寡王
      2020-10-30
      header我们一般用来传token的,通常是后端获取你请求接口来做身份验证,防止非法请求或第三方请求,这token也是你获取微信给的code请求后台换的
      2020-10-30
      回复
登录 后发表内容
问题标签