jquery的post参数如何灵活传参

御宅男小春子
  • 229

图片描述

如上图 我有5个方法 图片是install方法  其他四个方法就是红框的地方不一样
有的是{ 'addon_id': data.id }有的是{ 'addon_title': data.title }
我现在是复制了5份这个代码  怎么简写
回复
阅读 3.3k
4 个回答
✓ 已被采纳

其它步骤都一样的话

//封成一个函数
function x_request(params){
    $.post('url',params,function....)

}
//调用
X_request({ 'addon_id': data.id })
X_request({ 'addon_title': data.title })
vv13
  • 632
function postSomething(payload) {
    ...
    $.post('{...}', payload, function(data) { 
    ...
}

postSomething({ 'addon_id': data.id })
postSomething({ 'addon_title': data.title })

网络层

先提出一个网络工具,只要是网络请求,都调用这个方法,同时还可以封装getpush等方法

function post(url, data, success, failure)
  • url: 要访问的地址
  • data: 要发送的数据
  • success: 成功回调
  • failure: 失败回调

model层

再封装一个model

function installModel(data, success, failure){
    post('.../install',data, success, failure)
}

视图层

最后视图层调用

table.on("...", function(){
    installModal(data, function success(){...}, function failure(){...})
})
   //封成一个函数
    function x_request(event, params) {
        switch (event) {
            case 'install':
                $.post('url', params, xxxx);
                break;
            case 'xxx':
                $.post('url', params, xxxx);
                break;
                ……
        }
    }
    //调用
    X_request(obj.event,{ 'addon_id': data.id })
    X_request(obj.event,{ 'addon_title': data.title })
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏