Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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 使用Breeze.js和$http调用Ajax_Javascript_Jquery_Ajax_Angularjs_Breeze - Fatal编程技术网

Javascript 使用Breeze.js和$http调用Ajax

Javascript 使用Breeze.js和$http调用Ajax,javascript,jquery,ajax,angularjs,breeze,Javascript,Jquery,Ajax,Angularjs,Breeze,我已经初始化了我的服务,并编写了一个使用Breeze.js进行ajax调用的方法,因为文档中说setHttp($http)就足够了,但我无法进行ajax调用 breeze.NamingConvention.camelCase.setAsDefault(); factory.sample = function() { var serviceRoot = ""; var serviceName = serviceRoot + '/sample/2787'; // sample GET U

我已经初始化了我的服务,并编写了一个使用Breeze.js进行ajax调用的方法,因为文档中说
setHttp($http)
就足够了,但我无法进行ajax调用

breeze.NamingConvention.camelCase.setAsDefault();
factory.sample = function() {
   var serviceRoot = "";
   var serviceName = serviceRoot + '/sample/2787'; // sample GET URL
   new breeze.EntityManager(serviceName);

// use the current module's $http for ajax calls
   var ajax = breeze.config.initializeAdapterInstance('ajax', 'angular');
   var data = ajax.setHttp($http);

   return data;
};

有人能告诉我这个吗?

我不清楚您想从代码示例中得到什么。据我所知,您想让breeze使用Angular的$http服务发出ajax请求。以下是应该如何做到这一点:

var ajaxAdapter = breeze.config.initializeAdapterInstance("ajax", "angular");
ajaxAdapter.setHttp($http);      
breeze.ajaxpost(ajaxAdapter);
文档说setHttp($http)就足够了,但我无法进行ajax调用

breeze.NamingConvention.camelCase.setAsDefault();
factory.sample = function() {
   var serviceRoot = "";
   var serviceName = serviceRoot + '/sample/2787'; // sample GET URL
   new breeze.EntityManager(serviceName);

// use the current module's $http for ajax calls
   var ajax = breeze.config.initializeAdapterInstance('ajax', 'angular');
   var data = ajax.setHttp($http);

   return data;
};

Breeze不应该进行纯粹的ajax调用。改用$http

尚不清楚您在Angular应用程序中的何处执行此操作,以及您是否正确注入了$http服务

一般来说,最好在app.run模块中尽早初始化Breeze ajax适配器,如下所示

angular.module('app').run(['$http', function($http) {
    // tell the adapter to use your app module's $http for ajax calls
    var ajax = breeze.config.initializeAdapterInstance('ajax', 'angular');
    ajax.setHttp($http);
}]);
还有一个Breeze.Angular服务,它实际上为您执行上述配置

有关更多详细信息,请参阅的“使用AngularJS$http适配器”部分