Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript angularjs数据未添加到服务中_Javascript_Angularjs_Web Services - Fatal编程技术网

Javascript angularjs数据未添加到服务中

Javascript angularjs数据未添加到服务中,javascript,angularjs,web-services,Javascript,Angularjs,Web Services,我正在使用angularjs和ajax。我想从webservice传递给控制器的数据。为了将值传递给控制器,我使用holder(它是工厂方法或服务)。它在没有Web服务的情况下工作。但是,当我从web调用数据时,数据是正确的,但不会更新到holder。我的代码如下。单击按钮“数据1”时。我想以按钮名data2打印来自webservice的数据。它没有显示任何错误。并成功地将数据显示在控制台中,但不向支架添加数据 index.html <!DOCTYPE html> <html

我正在使用angularjs和ajax。我想从webservice传递给控制器的数据。为了将值传递给控制器,我使用holder(它是工厂方法或服务)。它在没有Web服务的情况下工作。但是,当我从web调用数据时,数据是正确的,但不会更新到holder。我的代码如下。单击按钮“数据1”时。我想以按钮名data2打印来自webservice的数据。它没有显示任何错误。并成功地将数据显示在控制台中,但不向支架添加数据

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>

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

更多细节。 $http
$resource

我在使用angularjs Web服务而不是ajax Web服务时得到了答案

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++;
};
});
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, $http) {

    $scope.Holder = Holder;
    $scope.increment = function() {
    $scope.Holder.value++;


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

    console.log(JSON.stringify(jData1));
    $http({
        method: 'POST',
        url: root+"/Boardmeeting/BoardmeetingDetailsSevice",
        headers: {
            'Content-Type': 'text/plain', /*or whatever type is relevant */
            'Accept': 'application/json' /* ditto */
        },
        data: JSON.stringify(jData1)
    }).then(function(response) {
            console.log(response);
    var k=response;
    $scope.BMNo=k.BMNo;
    console.log(response.data.BMNo);
    $scope.Holder.name=response.data.BMNo;

}, 
function(response) { // optional
        // failed
});

};
});

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