传参小解

常用有四种请求方式,get,put,post,delete

但是他们的传参的形式是不同,

1.get

get传参都是以附在URL后面传递的,举个栗子

goodsExchange_url: function(goodsId,staffId) {

return"/a/o/goodsExchange?goodsId="+goodsId+"&staffId="+staffId;

},

$rootScope.portService.goodsExchange($stateParams.goodsId,50)

.then(

functionsuccessCallback(data1) {

bootbox.alert(data1.data.message)

}

);

这里面的goodsIdhe staffId都是形参,用x,y替代也是可以的,他俩代表的是$stateParams.goodsId和50这两个实参,但是写的时候一定要注意顺序,因为形参就是占位符,是占个位置,弄乱了传参就乱了;

当然,他还能用params:data;的形式,其实也是讲data里面的数据序列化为上面的格式;

举个栗子

goodsDetail_url: function() {

return"/a/o/goodsDetail";

},

goodsDetail: function(data) {

return $http.get(address.goodsDetail_url(), {params:data});

},

$rootScope.portService.goodsDetail({goodsId:$stateParams.goodsId,staffId:50})

.then(

functionsuccessCallback(data1) {

vm.data=data1.data.data;

console.log(vm.data)

},

functionerrorCallback(response) {

}

);

这里就传了两个参数进去goodsId和staffId,是以对象的方式写入,然后被pramas序列化为一串字符串;

上面既然用到了$stateparams,就想说一下另外一点:

URL传参:想要用URL传参,一般是使用get请求方式,请求参数附在URL后面,最主要的是在配置路由的时候,路由地址后面也要写上参数名。

forexample:

//企业员工列表

.state('field.employeeLists', {

url: '/employeeLists/:size/:page/:name/:phone/:departmentName/:positionName',

templateUrl: 'views/organizationalStructure/employeeLists.html',

controller: 'employeeListsCtrl',

controllerAs: 'vm',

resolve: {

loadMyFile: _lazyLoad([

'js/controllers/organizationalStructure/employeeLists.js'

])

}

})

只有在路由里面也写上了参数名,才能在在这页面里面使用$stateParams将URL里面的参数读取出来,而且刷新之后也不会失效

2.put,post

有两种传参形式,

第一种就是像get一样附在URL后面

"/a/o/goodsExchange?goodsId="+goodsId+"&staffId="+staffId;

第二种是以application/json的形式传递,还是举个栗子

goodsAdd: function(data) {

return$http.post(address.goodsAdd_url(),data);

},

vm.publish=function(data){

$rootScope.publishConfirm($rootScope.portService.goodsAdd,data);

};

data里面包含的就是一组json对象

3.突然想起还有一种形式

是直接参与以URL地址的形式发送,与附在URL后面又不同;

还是举例子实际:

exchangeLogDetail_url: function(id) {

return"/a/o/exchangeLog/"+id;

},

exchangeLogDetail: function(id) {

return$http.get(address.exchangeLogDetail_url(id));

},

这种一般只传一个id进去

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,147评论 19 139
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,684评论 0 17
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,088评论 0 29
  • (1) 在AngularJS的app.js中用ui-router定义路由,比如现在有两个页面,一个页面(produ...
    HarryPang阅读 423评论 0 1
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,805评论 18 399