javascript - angularjs 数据未添加到服务中

标签 javascript angularjs web-services

我正在使用 angularjs 和 ajax。我想将数据从网络服务传递到 Controller 。为了将值传递给 Controller ​​,我使用holder(它是工厂方法或服务)。它无需网络服务即可工作。但是,当我从网络调用数据时,数据变得正确,但它没有更新到持有者。我的代码如下。单击按钮“data1”时。我想从按钮名称 data2 中的 web 服务打印数据。它没有显示任何错误。并成功在控制台中显示数据,但未将数据添加到支架中。

index.html

<!DOCTYPE html>
<html ng-app="sharing">
<head>
<script data-require="angular.js@1.5.6" data-semver="1.5.6" src="https://code.angularjs.org/1.5.6/angular.min.js"></script>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
    <script src="script.js"></script>
</head>

<body>
<div ng-controller="ChildCtrl">
  <button ng-click="increment() name="data1">+</button>{{Holder.value}}
</div>

<div ng-controller="ChildCtrl2">
  <h2>Second controller</h2>
  <button ng-click="increment() name="data2">+</button>{{Holder.value}}
  <button ng-click="" name="data3">+</button>{{Holder.name}}
</div>
</body>
</html>

script.js

// Code goes here
var app = angular.module('sharing', []);
var root="http://xxx.xxx.x.xx:60/Api";

app.factory('Holder', function() {
    return {
    value: 0,
    name:""
    };
});

app.controller('ChildCtrl', function($scope, Holder) {
$scope.Holder = Holder;
$scope.increment = function() {
$scope.Holder.value++;


var jData1 = {};
jData1.BDMeetingId ="10003/2017";

var k=null;
console.log(JSON.stringify(jData1));
$.ajax({
    type: "POST",
    async: true,
    url: root+"/Boardmeeting/BoardmeetingDetailsSevice",
    data: JSON.stringify(jData1),
    contentType: "text/plain",
    dataType: "json",
    crossDomain: true,
    success: function (msg) {
     k=msg;
     $scope.BMNo=k.BMNo;
    console.log(msg);
    $scope.Holder.name=$scope.BMNo;
  },
  error: function (jqXHR, textStatus, errorThrown) {       
  },
});

};
});

app.controller('ChildCtrl2', function($scope, Holder) {
$scope.Holder = Holder;
$scope.increment = function() {
$scope.Holder.value++;
};
});

最佳答案

如果您使用的是 AngularJS,请避免使用 jQuery 代码,请删除 $.ajax 并使用 $http$resource 其 AngularJS 内置提供程序。

了解更多详情。 https://docs.angularjs.org/api/ng/service/ $http https://docs.angularjs.org/api/ngResource/service/ $资源

关于javascript - angularjs 数据未添加到服务中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48168624/

相关文章:

javascript - 在HTML部分使用 "."访问对象并在JavaScript部分使用 "[]"?

java - 我想使用 NCDC(国家气候数据中心)气候数据 API 根据邮政编码获取美国过去的最高和最低气温

java - 在服务器内部调用 Web 服务

javascript - 从一组对象中简洁地获取一个对象属性,其中另一个属性与搜索匹配

javascript - 如何使用正则表达式前瞻并匹配先前的字符串/字符类

javascript - 通过键访问对象属性

angularjs - 为什么 ngModel 向选择添加空白/空选项?

javascript - 如何将字符串拆分为 ',' 或 '[|]',除非 ',' 在 '{}' 中

javascript - JQuery 选择器查找

c# - webservice DateTime 意外值?