繁体   English   中英

来自angularjs服务的jQuery ajax调用

[英]JQuery ajax call from angularjs service

  $scope.results = searchService.CallWeb($scope.userName);

我在我的angularjs控制器中使用上面的代码行。 方法searchService.CallWeb()在angularjs服务内部,该服务进行jquery ajax调用。 Jquery ajax调用已成功执行(我将结果放入jquery success内部的警报中),但是服务方法searchService.CallWeb()返回之前,它无法从ajax调用中获取响应。 因此,我无法将结果返回给我的控制器。 我该如何解决?

1)将回调函数发送到服务中,并在完成jQuery的ajax调用后,调用该回调。 在您发送的回调中,填充数组或调用警报或您需要执行的任何操作。

searchService.CallWeb($scope.userName, function(data){
  $scope.results = data;
});

2)您也可以使用Angular资源来执行此操作。 用资源调用替换jQuery ajax调用,而不是从服务返回值,而是返回资源提供的承诺。 然后,您可以在控制器中使用promise来获取数据并对其进行任何处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM