【问题标题】:Titanium appcelerator reste collection钛加速器恢复集合
【发布时间】:2016-07-20 15:49:38
【问题描述】:

我使用reste 库来处理钛应用加速器上的 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); }
});

第二次获取失败,你有什么想法吗?

谢谢。

【问题讨论】:

    标签: titanium appcelerator titanium-mobile titanium-alloy appcelerator-titanium


    【解决方案1】:

    在您的配置中,您没有指定如何处理 id 参数。 RESTe 不知道(或关心)您的 API——即它是基于 REST/PUT、GET 还是 POST、GET 等。所以您需要告诉它。

    将您的方法更改为:

    {
      name : "get_products",
      post : "api/get_product/<id>"
    }
    

    它应该可以正常工作。这里的灵活性允许 RESTe 使用不符合正常 REST 模式的 API,因此如果需要,请说:

    "api/get_product?id=<id>"
    

    例如。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-21
      相关资源
      最近更新 更多