AngularJS:$http.post 使用 textarea 的多个值?

Posted

技术标签:

【中文标题】AngularJS:$http.post 使用 textarea 的多个值?【英文标题】:AngularJS: $http.post multiple values using textarea? 【发布时间】:2018-01-08 16:17:52 【问题描述】:

我有一个应用程序,它使用 web api 将用户输入文本的值发布到 sql server 表中,然后 sql 表值显示在 html 页面中。到目前为止,我想使用 textarea 来保存多个值(将它们连接成一个用空格替换的换行符):

控制器:

  $scope.saveSubs = function () 
        var sub = 
         //  DisplayName: $scope.DisplayName


        ;
        var saveSubs = APIService.saveSubscriber(sub);
        saveSubs.then(function (d) 
            getAll();
        , function (error) 
            console.log('Oops! Something went wrong while saving the data.');
        );
    ;

邮政服务:

app.service("APIService", function ($http) 
    this.getSubs = function () 
        var url = 'api/Subscriber';
        return $http.get(url).then(function (response) 
            return response.data;
        );        
    
    this.saveSubscriber = function (sub) 
        return $http(
            method: 'post',
            data: sub,
            url: 'api/Subscriber'
        );

);

HTML:

   <div class="form-group">
            <textarea name="txtDescEd" cols="60" rows="10" data-ng-model="mailid"></textarea>
        </div>



        <button type="button" class="btn btn-default" data-ng-click="saveSubs();">Submit</button>
        <p id='target' style='white-space:pre'>

【问题讨论】:

期望是什么?是否要进行多个 Web 服务调用(每行一个)?或者您想使用输入作为数组进行一次 Web 服务调用? 任何一种方式都行 【参考方案1】:

理想的解决方案是进行一次 Web 服务调用并将多个订阅者保存在一起。

使用.split 函数来拆分输入文本,如下所示。

this.saveSubscriber = function (sub) 
    return $http(
        method: 'post',
        data: sub.split('\n'),
        url: 'api/Subscriber'
    );

注意:为此,Web 服务必须支持字符串数组作为输入。

【讨论】:

以上是关于AngularJS:$http.post 使用 textarea 的多个值?的主要内容,如果未能解决你的问题,请参考以下文章

[Angularjs]$http.post与$.post

使用 AngularJS $http.post 登录 Spring Boot

AngularJS:$http.post 使用 textarea 的多个值?

困惑:AngularJS $http POST 响应返回索引文件的 HTML 内容

在 angularjs 中使用 $http.post() 时出现 CORS 问题

$http.post 在 AngularJS 中不起作用