鍍金池/ 問答/HTML/ vue.js axios發(fā)請求時,參數(shù)包括dto和一個flag, 后臺如何接?

vue.js axios發(fā)請求時,參數(shù)包括dto和一個flag, 后臺如何接?

1.vue.js使用axios向后臺發(fā)請求. 傳遞參數(shù)中包含一個object,一個string.
object到后臺用javaBean接, String到后臺用String接.

2.前臺代碼如下:

data() {
    return {
        sCompanyData: {
            id: undefined,
            zhName: "",
            usName: "",
            socialCreditCode: "",
            organisationNo: "",
            registerNo: ""
        },
        flag: "declare"
    };
},

methods: {
    sCompanySave() {
        this.$refs["childrenForm"].validate(valid => {
            // 驗證通過保存用戶信息
            if (valid) {
                axios.post("/htrt/compManager/sCompanySave", {
                        dto: this.sCompanyData,
                        flag: flag
                        }).then(resp => {
                        if (resp.data.success == false) {
                            this.$alert(resp.data.errorMsg, "提示", {
                                confirmButtonText: "確定",
                                callback: action => {}
                            });
                        } else {
                            this.sCompanyFormVisible = false;
                            this.$refs["childrenForm"].resetFields();
                            this.getList();
                        }
                    })
                    .catch(err => {
                        console.log(
                            "請求失敗" + err.status + "," + err.statusText
                        );
                    });
            } else {
                console.log("error submit!!");
                return false;
            }
        });
    }
}

clipboard.png

3.后臺java controller如下:

@RequestMapping(value = "sCompanySave")
 @ResponseBody
public JsonResponse<CompanyManagementDto> sCompanySave(@RequestBody Map<String,Object>paraMap) {

4.問題是我在controller里如何處理paraMap,
問題在 paraMap.get("dto"), 我跟代碼, 看得到的內(nèi)容也是個map, 但是強轉(zhuǎn)成map還不成功....
請教各位同學(xué), 有沒有遇到我這個問題的.

回答
編輯回答
掛念你

昨天同事給我了另外一個思路,發(fā)上來,后臺是能接到的, dto自動解析javaBean, flag給string接到了.

                            axios.post(
                                "/htrt/compManager/sCompanySave?flag=" +"declare",
                                this.sCompanyData
                            )
2018年2月7日 05:36
編輯回答
青黛色

是不是要接收Content-Type: application/x-www-form-urlencoded的請求,如果是的話
axios.post 里面用 qs 轉(zhuǎn)一下數(shù)據(jù)即可

2018年8月20日 02:16