我正在学习AngularJS,我使用sublime-text作为编辑器并使用parse.com-rest-api作为后端层来设置开发环境。
我遇到了一个场景,我必须根据属性获取数据。
以下来自angularjs服务层的代码已经从表格中获取所有记录' filim'。
var config = {
headers: {
'X-Parse-Application-Id': 'bNtp8FUfr0s1UsAwJr7MFjabCI31HytIuC3gCaJ2',
'X-Parse-REST-API-Key': 'g18cAoH7QkrBZenPqH0pynMKsn6pj4MyfDyIy6X1',
}
};
return {
getFilims: function(callback) {
var filims;
var resp = $http.get('https://api.parse.com/1/classes/filim', config).success(function(data) {
callback(data.results);
});
}
}
我修改了上面的url来发送query-parameter来过滤输出,但是没有用。 我引用parse.com api doc [https://www.parse.com/docs/rest#queries]修改url以发送查询 - 参数。
修改后的代码如下,
var params = {" where":{" status" :" CLOSED" }}
var resp = $http.get('https://api.parse.com/1/classes/filim?%s' % params, config).success(function(data) {
callback(data.results);
});
但这不起作用。
这是使用query-parameter的方法吗?
此致 AJIL
答案 0 :(得分:1)
'https://api.parse.com/1/classes/filim?%s' % params
这是用于插入字符串的python模式,不能在javascript中使用。
在javascript中组合字符串的正确方法是:
'https://api.parse.com/1/classes/filim?' + params
即使如此,这可能也行不通,因为你最终会得到类似的东西:
'https://api.parse.com/1/classes/filim?[Object object]
你需要为parse.com做的是对查询进行JSON编码,所以试试这个:
var whereQuery = {"status" : "CLOSED"};
var url = 'https://api.parse.com/1/classes/filim?where=' + encodeURI(JSON.stringify(whereQuery));
var resp = $http.get(url, config).success(function(data) {
callback(data.results);
});