vue调用后端接口

在点js文件中写入以下代码 配置全局 axios

// 统一请求路径前缀在libs/axios.js中修改

import {

    getRequest,

    putRequest,

    postRequest,

    deleteRequest,

} from "@/libs/axios";



 

//  获取列表

export const selectTaskReason = (params) => {

    return postRequest("/TaskReason/selectTaskReason", params);

};

//  添加列表

export const saveTaskReason = (params, header) => {

    return postRequest("/TaskReason/saveTaskReason", params, header);

};

//  编辑列表

export const updateTaskReason = (params, header) => {

    return postRequest("/TaskReason/updateTaskReason", params, header);

};

//  删除列表

export const deleteTaskReason = (params) => {

    return postRequest("/TaskReason/deleteTaskReason", params);

};


在.vue中间调用

 // 添加用户
        add() {
            this.$refs.form.resetFields();
            this.form = { // 表单
                id: params.row.id,
                taskName: this.taskName,
                taskSubType: this.taskSubType,
                taskStatus: this.taskStatus,
                taskAmountType: this.taskAmountType,
                taskMoney: this.taskMoney,
                createBy: this.createBy,
                updateTime: this.updateTime,
                updateBy: this.updateBy,
                beginTime: this.beginTime,
                endTime: this.endTime,
                flag1: this.flag1,
                taskUnionId: this.taskUnionId,
                isUpload: this.isUpload,
                commissionRate: this.commissionRate,
                fissionMission: this.fissionMission,
                begitaskRecommendationnTime: this.taskRecommendation,
            },
                this.modalTitle = "添加用户"
            this.userModalVisible = true;//弹框
        },
        submitUser() {
            API_Demo.AddDemo(this.form, { 'Content-Type': 'application/json' }).then((res) => {
                if (res.code == 200) {
                    this.getDemoData();
                    this.$Message.success('添加成功');
                    this.userModalVisible = false;
                }
            })
        },
        update() {
            this.updateMemberSubmit();
        },

        //编辑列表
        updateMemberSubmit() {
            API_TaskReason.updateTaskReason(this.updateForm, { 'Content-Type': 'application/json' }).then((res) => {
                if (res.code == 200) {
                    this.getTaskReasonData();
                    this.$Message.success('编辑成功');
                    this.updateModalVisible = false;
                }

            })
        },

        //刪除列表
        deleteMember() {
            API_TaskReason.deleteTaskReason({ id: this.id }).then((res) => {

                if (res.code == 200) {
                    this.remove = false;
                    console.log(111111);
                    this.$Message.success('删除成功');
                    this.getTaskReasonData();


                }

            })
        },

      // 分页 修改页码

        changePage(v) {

            this.searchForm.pageNumber = v;

            // this.getUserList();

            this.getTaskReasonData();

        },

        // 分页 修改页数

        changePageSize(v) {

            this.searchForm.pageSize = v;

            this.searchForm.pageNumber = 1;

            // this.getUserList();

            this.getTaskReasonData();

        },

       //查询列表

        getTaskReasonData() {

            API_TaskReason.selectTaskReason(this.searchForm).then((res) => {

                console.log(24234324, res.result)

                console.log(2323232323, res.result.records);

                if (res.result.records) {

                    //把你的数据存入到data

                    this.data = res.result.records

                    this.total = res.result.total

                }

            });

        },

vue中需要声明的   

form表单中的就是你前端获取到的后端传过来的值

 form: { // 表单

                id: "",        

                taskName: "",

                taskType: "",

                taskSubType: ""

            }

searchForm表单就是分页数据

         searchForm: {

                // 请求参数

                pageNumber: 1,

                pageSize: 10,

                order: "desc",

                disabled: "OPEN",

                createTimeStart: "",

                createTimeEnd: ""

            },

这些都是调用接口想在前端页面实现 你需要弄一个点击事件 点击调用

例如删除 弄个确定和取消

        //删除

        ok() {

            this.deleteMember();

        },

        cancel() {

        },

查询数据的话不需要弄点击事件 不过你需要在你data里面去定义一个空数组

表格中设置一个  :data去等于它

 

 由于查询不需要点击事件我们需要设置一个mounted方法

这样去调用查询接口 

 mounted() {

        this.getTaskReasonData();

    }

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue2中进行跨域请求可以通过以下几种方式解决: 1. 代理服务器:在Vue CLI 2.x版本中,可以在`config/index.js`文件中配置代理服务器。在`proxyTable`选项中添加以下代码: ```javascript proxyTable: { '/api': { target: 'http://api.example.com', // 目标服务器地址 changeOrigin: true, // 支持跨域 pathRewrite: { '^/api': '' // 将/api替换为空字符串,去掉/api前缀 } } } ``` 然后在代码中使用`/api`前缀来请求数据,例如`axios.get('/api/users')`。 2. JSONP:如果接口支持JSONP方式,可以使用Vue的`vue-jsonp`插件进行跨域请求。首先安装插件: ``` npm install vue-jsonp --save ``` 然后在代码中使用`this.$jsonp()`方法进行请求: ```javascript import VueJsonp from 'vue-jsonp'; Vue.use(VueJsonp); this.$jsonp('http://api.example.com/users').then(response => { // 处理响应数据 }).catch(error => { // 处理错误 }); ``` 3. CORS:如果后端接口支持CORS(跨域资源共享),可以直接在Vue代码中发送跨域请求。例如使用Axios库: ```javascript import axios from 'axios'; axios.get('http://api.example.com/users', { withCredentials: true }).then(response => { // 处理响应数据 }).catch(error => { // 处理错误 }); ``` 在请求中设置`withCredentials: true`以携带跨域请求的凭据(如Cookies)。 需要注意的是,在开发环境中通常是通过代理服务器解决跨域问题,而在生产环境中应该由后端服务器设置CORS策略来支持跨域请求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值