【问题标题】:how to create a method in service for http post in angular?如何为 Angular 中的 http 帖子创建服务方法?
【发布时间】:2015-03-20 13:54:38
【问题描述】:

我有

$http({
                url: 'http://webapi.-----UA_WebApi/GetUserAccount',
                method: 'POST',
                params: {Username:Username, Password:Password},
                headers: { 'Content-Type': 'application/json;charset=utf-8' },
            })

在我的服务中,我写了这个方法:

PostLogin: function (apiName, params) {
                var fullParams = getFullParams(apiName, params);
                var promise = $resource(buildUrl(apiName), {}, POST).get(fullParams).$promise;
                updateAllowedFilters(promise);
                return promise;
            }

如果有人可以帮助我理解我在做什么(对与错)请? 我还想要一个如何使用角度资源进行发布的示例。 PostLogin 有效

 PostLogin: function (apiName, params) {
                    var fullParams = getFullParams(apiName, params);
                    var promise = $resource(buildUrl(apiName), {}, POST).get(fullParams).$promise;
                    updateAllowedFilters(promise);
                    return promise;
                }
.then(function (results) {
                if(results.data.TotalRows==1) {}

调试时未定义 TotalRows。但是api中有TotalRows 谢谢

【问题讨论】:

    标签: angularjs http-post


    【解决方案1】:
    var actions = {
            post: {
                method: 'post',
                transformResponse: function(data) {
                    // here is your chance to change received data 
                    return new Model(angular.fromJson(data));
                }
            }
        };
    var url = "http://postSomeData/:id/somethingElse/:name";
    var parameters = { id : 1, name : "test" }
    var data = { name : "test", type : "some type" };
    
    return $resource(url, parameters, actions).post(data).$promise;
    

    【讨论】:

    • 如果您想为收到的数据添加功能,例如方法,模型是用户定义的工厂
    • 405 表示方法不允许,如果您使用 postman 或 fiddler 向该 url 发送 OPTIONS 会发生什么?它说可以发布吗?
    • 我对此一无所知,但我已将 'Content-Type': 'application/json;charset=utf-8' 添加到 reportService.PostLogin。但我认为这会将其作为参数
    • 认为这是一件好事,但我觉得这完全取决于您的网址允许的内容,我可能是错的
    • 你的后端由什么组成,java、node、.net?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-21
    • 1970-01-01
    • 1970-01-01
    • 2014-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多