Я немного новичок в Angular, и я пытаюсь настроить очень простую RPC-реализацию, использующую углы $http
сервис (завод) для выполнения работы. Вот что я для службы до сих пор:
'use strict';
angular.module('xxx')
.factory('rpcService', function ($http) {
return {
request: function(method, params, callback) {
var service = method.split('.');
params = params || {};
params.method = service[1];
return $http.post('/services/' + service[0] + '.sjs', params).then(function (response) {
return response.data;
});
}
}
});
Затем, когда я хочу, чтобы воспользоваться услугой, я называю это так:
rpcService.request('Users.facebookLogin', { token: response.authResponse.accessToken })
.then(function(response) {
debugger;
$rootScope.user = response.user;
console.log($rootScope.user);
$rootScope.loggedIn = true;
$rootScope.$apply();
});
код никогда не доберется до линии после отладки; Фактически, код никогда не делает запрос $http
вообще. По какой-то причине он останавливается и не продолжает обратного вызова ... или обещал ... Я немного смущен относительно того, что такое техническая разница. :)
Это, как говорится, я проверил POST-вызов с $.ajax
, и все возвращается правильно, поэтому что-то отключено с моим угловым кодом.
И код, который фактически запускает запрос и делает работу с $.ajax
:
'use strict';
angular.module('xxx')
.factory('rpcService', function ($http) {
return {
request: function (method, params, callback) {
var service = method.split('.');
params = params || {};
params.method = service[1];
$.ajax('/services/' + service[0] + '.sjs', {
type: 'POST',
dataType: 'json',
data: params,
success: function(data, status, xhr) {
if (callback) {
callback(data);
}
}
});
}
}
});
Я просто не уверен, почему запрос XHR не делается.
могли бы вы поделиться завершили код и настроить plunker пожалуйста –
К сожалению, я не могу настроить plunker для этого, но позвольте мне добавить еще какой-то код. – dmackerman