【问题标题】:How Insert AngularJS JSON Data Into SQL如何将 AngularJS JSON 数据插入 SQL
【发布时间】:2016-05-05 00:55:59
【问题描述】:

所以我目前正在开发一个应用程序,它使用 WebAPI 和 AngularJS 从 SQL 表中搜索一些数据并将其显示在网页上供用户选择多个单独的数据行。我将选定的行插入到一个单独的 JSON 数组(可用客户端)中,我想将其插入到一个单独的 SQL 表中。对我来说,将我的 JSON 数据数组插入到不同的 SQL 表中的最佳方法是什么。我将附上我目前用来获取数据的代码。

Controller.js

var app = angular.module('myApp', []);

app.controller("myController", function ($scope, $http) {

  function getCert(myid) {
    $http.get('api/Cert/Get/', { params: { id : myid } })
      .success(function (data) {
        $scope.selectedclients = data;
      })
  }

  $scope.searchClick = function() {
    getCert($scope.myid);
  }

  $scope.moveItem = function (item, from, to) {
    var idx = from.indexOf(item);
    if (idx != -1) {
      from.splice(idx, 1);
      to.push(item);
    }
  };

  $scope.availableclients = [];
});

HTML

<html data-ng-app="myApp">
  <body data-ng-controller ="myController">    

My_ID: <input type="text" ng-model="my_id" />
    <input type="submit" value="Search" ng-click="searchClick()" />

    <select size="10" multiple ng-model="selected" ng-options="i.unit_id for i in selectedclients" style="width: 400px"></select>
    <div class="btn-group">
      <button title="Remove From List" class="btn btn-default" ng-click="moveItem(available[0], availableclients,selectedclients)"><i class="glyphicon glyphicon-chevron-left"></i></button>
      <button title="Add To List" class="btn btn-default" ng-click="moveItem(selected[0], selectedclients,availableclients)"><i class="glyphicon glyphicon-chevron-right"></i></button>
    </div>
    <select size="10" multiple ng-model="available" ng-options="i.unit_id for i in availableclients" style="width: 400px"></select>
  </body>
</html>

我的代码工作正常我只是不知道如何获取我的可用客户端 JSON 数组并将其插入到我的 SQL 表中。这可能真的很容易做到,但我所有的搜索都对我正在寻找的内容一无所知。任何帮助表示赞赏。谢谢!

编辑 1:根据评论的建议,我添加了用于获取 Web API 的控制器。再次感谢您的任何建议!

public class CertController : ApiController
{

    CertEntities objapi = new CertEntities();


    [HttpGet]
    public IEnumerable<AngularCoCSelect_Result> Get(int id)
    {

        return objapi.AngularCoCSelect(id).AsEnumerable();
    }

}

【问题讨论】:

    标签: javascript sql asp.net angularjs json


    【解决方案1】:

    此解决方案作为指导方针

    需要为您的客户端 ASP.NET 或 PHP 接受对象数组 (json) 的后端 api

    您需要在控制器中的 Angular 中添加函数,以便使用 $http.put$http.post 将客户端数据提交到服务器

    $scope.submitClientData = function(){
        $http.post('webapi/clients' , { clients:$scope.availableclients })
    }
    

    您可以从提交按钮调用函数 &lt;button ng-click='submitClientData()'&gt;Save&lt;/button&gt;

    【讨论】:

    • 使用 put 与 post 有什么优势?
    • 没什么,put 和 post 会做同样的工作,但作为 RESTful API 设计的约定,post 用于添加新资源,put 用于更新现有资源
    【解决方案2】:

    这是一个相当广泛的问题......你正在显示客户端代码,并且后端没有任何东西最终将存储数据(怀疑你也放置了 asp.net 标签)

    因此,基于此,您可以使用实体框架将数据存储到数据库中。您可能会在 Internet 上找到很多关于实现此方法的文章。

    【讨论】:

    • 我使用实体框架和 Web API 来获取我的数据。我会更新并将其添加到我的原始帖子中。
    • 所以你的问题是如何从角度做到这一点,如何将数据发送到 web api?
    • 是的,我想这就是我要找的!正如其他人评论的那样,如果我理解正确,我可以使用 put/push 将其发送到 Web API。
    • 你可以看看这篇文章,它可以提供帮助,资源:sitepoint.com/creating-crud-app-minutes-angulars-resource 和 http:bennadel.com/blog/…
    • 是的,他发布的内容是正确的。 POST 和 PUT 之间的区别并不真正存在。 PUT 表示它是更新,POST 表示它是您发送的新项目。
    猜你喜欢
    • 1970-01-01
    • 2018-05-19
    • 2021-08-31
    • 2021-02-19
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 2019-10-25
    • 1970-01-01
    相关资源
    最近更新 更多