Ember数据JSON-RPC请求示例

Ember Data JSON-RPC requests Example

我想使用 EmberJS 和 ember-data

向我的 zabbix 服务器发出 Post 请求

我将如何使用 JSON-RPC 进行查询?

在 python 我会做这样的事情:

HEADERS = {'content-type': 'application/json'}
URL = 'http://zabbix.mydomain.com/zabbix/api_jsonrpc.php'
QHEAD = { "jsonrpc": "2.0"}

pl = QHEAD
pl['id'] = "8"
pl['method'] = "user.login"
pl["params"] = { "user": "ZabbAdmin001", "password": "NunYaBeez.001." }
r = requests.post(URL,headers=HEADERS,data=json.dumps(pl))

在ember.js中你可以使用ember-ajax,它通常包含在一个新项目中。

将上面的 python 代码转换为 ember-ajax 应该如下所示(在控制器中使用时):

import Ember from 'ember';

const {
  get,
  Controller,
  inject: { service }
} = Ember;

export default Controller.extend({
  ajax: service(),
  actions: {
    sendRequest() {
      return get(this, 'ajax').request('http://zabbix.mydomain.com/zabbix/api_jsonrpc.php', {
        method: 'POST',
        data: {
          "jsonrpc": "2.0",
          "id": 8,
          "method": "user.login",
          "params": { "user": "ZabbAdmin001", "password": "xxxxxxx" }
        }
      }).then(r => {
        // Now r is your response
        console.log(r);
      });
    }
  }
});