我正在使用 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/