我使用reste库来处理钛appcelerator上的api:
这是我的配置:
api.config({
debug : true,
autoValidateParams : false,
validatesSecureCertificate : false,
timeout : 4000,
url : Kb.baseUrl,
models: [{
name: "product",
id: "id",
//content: "retArray",
collections: [{
name: "products",
content: "response",
read: "get_products"
}],
}],
methods : [
{
name : "get_products",
post : "api/get_product"
}
],
...
所以这就是我如何获取(完美运作):
var p = Alloy.Collections.get_products;
p.fetch({
success:function(m,r){
console.log(r)
}
});
现在我必须过去反对的帖子(这不起作用,为什么?):
p.fetch({
data:{'id':'2'},
success:function(m,r){ console.log(r); }
});
第二次抓取无效,请问您有什么想法?
感谢。
答案 0 :(得分:0)
在您的配置中,您没有指定如何处理id参数。 RESTe不知道(或关心)你的API - 即它是REST / PUT,基于GET还是POST,GET等等。所以你需要告诉它。
将您的方法更改为:
{
name : "get_products",
post : "api/get_product/<id>"
}
它应该可以正常工作。这里的灵活性允许RESTe使用不符合正常REST模式的API,因此如果需要,请说:
"api/get_product?id=<id>"
例如。