ppypp伦理天堂,91手机在线视频,免费在线观看黄色毛片,夜夜穞天天穞狠狠穞AV美女按摩

聯(lián)系官方銷售客服

1835022288

028-61286886

投訴 已解決 怎么使用用戶登錄接口登錄授權碼登錄賬號返回一個是什么意思 11 0
834427951(前端設計) VIP會員 OEM版權 2021-07-14 22:41:06 私信
迅睿CMS版本:6.1.0 #登錄 #用戶 #接口

怎么使用:用戶登錄接口(登錄授權碼)


image
登錄賬號返回一個form?是什么意思

解決方案
  • 需要post請求

  • 請求方式不對,你這是get請求,提交都要改成post請求

  • 2021-07-14 23:09:10
    Chrome 28分鐘4秒 0

    回復@官方插件技術-何老師
    image
    物我提交的是post方式

  • 回復@官方插件技術-何老師 好的,謝謝老師,我檢查下

  • axios的post請求不是你這么寫的呢

  • 回復@在路上 大佬,可否賜教一下小弟

  • 要做的需求很簡單,就是一個axios的簡單請求,如下:

    axios({
        method: 'post',
        url: '/api/login',
        data: {
            username,
            pwd
        }})

    但是問題來了,后端說取不到我的username和pwd,問題又來了,我確實傳過去了,黑人問號臉???,然后我找了一下資料,終于把值成功傳過去,后端也成功取到了。

    原因:后端用的框架是 spring mvc ,并且在這個方法上使用了注解 @RequestParam,這個就只能從請求的地址中取出參數(shù),也就是只能從 username=admin&pwd=11111 這種字符串中解析出參數(shù),也就是編碼格式(content-type)為:application/x-www-form-urlencode。(表單form的enctype屬性的編碼方式有兩種:application/x-www-form-urlencode和multipart/form-data),但是axios會把請求的數(shù)據(jù)轉換成json格式,即為:application/json;charset=UTF-8,所以格式不同,就取不值了。

    解決方案我嘗試了有6種,大家可以根據(jù)自己的需求選擇:

    1.用 URLSearchParams

    let param = new URLSearchParams()param.append('username', 'admin')param.append('pwd', 'admin')
    axios({
        method: 'post',
        url: '/api/login',
        data: param
    })

    缺點:兼容性不太好。

    2.設置Content-Type

    (1)axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

    或者:{headers:{'Content-Type':'application/x-www-form-urlencoded'}}

    (2)引入 qs (這個庫是 axios 里面包含的,直接引入,無需下載)。

    import Qs from 'qs'let data = {
        "username": "admin",
        "pwd": "admin"
    }axios({
        headers: {
            'deviceCode': 'A95ZEF1-47B5-AC90BF3'
        },
        method: 'post',
        url: '/api/login',
        data: Qs.stringify(data)
    })

    3.設置transformRequest

    因為我們的請求編碼格式是被axios更改的,那我們也可以進去設置,如下:

    import Qs from 'qs'axios({
        url: '/api/login',
        method: 'post',
        transformRequest: [function(data){       
             // 對 data 進行任意轉換處理        
            return Qs.stringify(data)
        }],
        headers: {
            'deviceCode': 'A95ZEF1-47B5-AC90BF3'    },
        data: {
            username: 'admin',
            pwd: 'admin'    }
    })

    4.重寫一個 axios 實例,重新實現(xiàn)屬于我們自己的 transformRequest

    import axios from 'axios'let instance = axios.create({
        transformRequest: [function transformRequest(data, headers) {
            normalizeHeaderName(headers, 'Content-Type');
            if (utils.isFormData(data) ||          utils.isArrayBuffer(data) ||          utils.isBuffer(data) ||          utils.isStream(data) ||          utils.isFile(data) ||          utils.isBlob(data)
            ) {
              return data;
            }
            if (utils.isArrayBufferView(data)) {
              return data.buffer;
            }
            if (utils.isURLSearchParams(data)) {
              setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
              return data.toString();
            }
            /*改了這里*/       
     if (utils.isObject(data)) {
              setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
              let _data = Object.keys(data)
              return encodeURI(_data.map(name => `${name}=${data[name]}`).join('&'));
            }
            return data;
        }],
    })

    5.axios.post('/api/lockServer/search',"userName='admin'&pwd='admin'");

    6.我們知道服務端用的是 @RequestParam(通過字符串解析出參數(shù)) ,其實還有另一種是 @RequestBody(從請求體中獲取參數(shù)),讓后端改成 @RequestBody也可以。

    滿意答案
    短信幣+1
  • 你這是請求方式不對,服務端接收的get,并不是post

  • 2021-07-14 23:27:44
    Chrome 46分鐘38秒 0

    回復@初次使用 牛逼,我會了,請求到了,在這里謝謝各位的解答 ??

  • 2021-07-14 23:28:06
    Chrome 47分鐘0秒 0
    @初次使用:66666666666