javascript - 在 ionic services.js 文件中对第三方 API 进行 ajax 调用?

标签 javascript json ajax ionic-framework

今天开始使用 ionic,遇到了一个小问题。 services.js 文件有一条注释 //此处可能使用返回 JSON 数组的资源

我想对 API 进行 ajax 调用,但我不知道如何在 services.js 文件中声明自定义资源。 我将从该调用中收到一个 JSON 数组,并将使用列表。

问题:如何将自定义变量声明为列表,以对第三方 API 进行 ajax 调用?

angular.module('starter.services', [])

.factory('Chats', function() {
// Might use a resource here that returns a JSON array
 var popularURL = 'SOME_API_RUL';
 var xhttp = new XMLHttpRequest();
 xhttp.onreadystatechange = function() {
 if (xhttp.readyState == 4 && xhttp.status == 200) {
    var chats = xhttp.responseText;
  }
};
xhttp.open("GET", popularURL, true);
xhttp.send();

return {
  all: function() {
    return chats;
  },
  remove: function(chat) {
    chats.splice(chats.indexOf(chat), 1);
  },
  get: function(chatId) {
  for (var i = 0; i < chats.length; i++) {
    if (chats[i].id === parseInt(chatId)) {
      return chats[i];
    }
  }
  return null;
  }
};

聊天列表永远不会被填充。如何在 ionic services.js 文件中正确进行 ajax 调用。

谢谢!

最佳答案

你可以这样做:

angular.module('starter.services', [])

.factory('Chats', function($http) {

  var API_URL = 'https://api.herokuapp.com';

  return {
    all: function() {
      return $http.get(API_URL + '/chats');
    }
  };
});

在 Controller 中:

Chats.all().then(function(chats){
  $scope.chats = chats;
})

您可以查看$http在文档中

关于javascript - 在 ionic services.js 文件中对第三方 API 进行 ajax 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35276671/

相关文章:

javascript - 将事件监听器附加到数组以获取 Push() 事件

javascript - 使用 Javascript 的 Bootstrap 列过滤器

javascript - 将动态键值对传递给函数

php - jQuery 切换功能在 AJAX HTML 数据加载后停止工作

javascript - 从数据库加载 iframe

javascript - 没有 Index.html 设计的登录页面 - ngRoute (AngularJS)

java - Jackson 将动态 json 转换为 map

c# - 手动创建启用 JSON 的 WCF Svc 服务

android - 什么是 json 文件以及 apk android studio 3.0

javascript - WordPress 主题 : add custom scripts and jquery the correct way