【问题标题】:Alloy Rest Sync create model errorAlloy Rest Sync 创建模型错误
【发布时间】:2015-05-26 00:35:50
【问题描述】:

无法使用合金同步适配器创建新模型。 这是我的模型

exports.definition = {  
        config: {
            "URL": "http://localhost:8888/appname/web/app_dev.php/api/dreams",
            "debug": 1, 
            "adapter": {
                "type": "restapi",
                "collection_name": "dream",
                "idAttribute": "id",
            },
        },      
        extendModel: function(Model) {_.extend(Model.prototype, {});
            return Model;
        },  
        extendCollection: function(Collection) {        
            _.extend(Collection.prototype, {});
            return Collection;
        }       
};

这是我的控制器功能

var dream = Alloy.createModel('dream', { title: 'Ubik', body: 'Philip K. Dick', user: '2', image: 'dsaf' });

dream.save();

我收到这个错误

[ERROR] :  No request object found. Did you call open?
[ERROR] :  No request object found. Did you call open?
[ERROR] :  No request object found. Did you call open?
[ERROR] :  [REST API] CREATE ERROR:
[ERROR] :  {
[ERROR] :      code = 500;
[ERROR] :      error = "HTTP error";
[ERROR] :      responseJSON =     {
[ERROR] :          errors =         {
[ERROR] :              errors =             (
[ERROR] :              );
[ERROR] :              form =             {
[ERROR] :                  children =                 {
[ERROR] :                      body =                     (
[ERROR] :                      );
[ERROR] :                      image =                     (
[ERROR] :                      );
[ERROR] :                      title =                     (
[ERROR] :                      );
[ERROR] :                      user =                     (
[ERROR] :                      );
[ERROR] :                  };
[ERROR] :              };
[ERROR] :          };
[ERROR] :      };
[ERROR] :      responseText = "{\"errors\":{\"form\":{\"children\":{\"title\":[],\"image\":[],\"body\":[],\"user\":[]}},\"errors\":[]}}";
[ERROR] :      status = error;
[ERROR] :      success = 0;
[ERROR] :  }
[ERROR] :  [REST API] apiCall ERROR: {"errors":{"form":{"children":{"title":[],"image":[],"body":[],"user":[]}},"errors":[]}}
[ERROR] :  [REST API] apiCall ERROR CODE: 500
[ERROR] :  [REST API] apiCall ERROR MSG: HTTP error
[ERROR] :  [REST API] apiCall ERROR URL: http://localhost:8888/appname/web/app_dev.php/api/dreams
[ERROR] :  [REST API] CREATE ERROR:
[ERROR] :  {
[ERROR] :      code = 500;
[ERROR] :      error = "HTTP error";
[ERROR] :      responseJSON =     {
[ERROR] :          errors =         {
[ERROR] :              errors =             (
[ERROR] :              );
[ERROR] :              form =             {
[ERROR] :                  children =                 {
[ERROR] :                      body =                     (
[ERROR] :                      );
[ERROR] :                      image =                     (
[ERROR] :                      );
[ERROR] :                      title =                     (
[ERROR] :                      );
[ERROR] :                      user =                     (
[ERROR] :                      );
[ERROR] :                  };
[ERROR] :              };
[ERROR] :          };
[ERROR] :      };
[ERROR] :      responseText = "{\"errors\":{\"form\":{\"children\":{\"title\":[],\"image\":[],\"body\":[],\"user\":[]}},\"errors\":[]}}";
[ERROR] :      status = error;
[ERROR] :      success = 0;
[ERROR] :  }
[ERROR] :  [REST API] apiCall ERROR: {"errors":{"form":{"children":{"title":[],"image":[],"body":[],"user":[]}},"errors":[]}}
[ERROR] :  [REST API] apiCall ERROR CODE: 500
[ERROR] :  [REST API] apiCall ERROR MSG: HTTP error
[ERROR] :  [REST API] apiCall ERROR URL: http://localhost:8888/appname/web/app_dev.php/api/dreams
[ERROR] :  [REST API] CREATE ERROR:
[ERROR] :  {
[ERROR] :      code = 500;
[ERROR] :      error = "HTTP error";
[ERROR] :      responseJSON =     {
[ERROR] :          errors =         {
[ERROR] :              errors =             (
[ERROR] :              );
[ERROR] :              form =             {
[ERROR] :                  children =                 {
[ERROR] :                      body =                     (
[ERROR] :                      );
[ERROR] :                      image =                     (
[ERROR] :                      );
[ERROR] :                      title =                     (
[ERROR] :                      );
[ERROR] :                      user =                     (
[ERROR] :                      );
[ERROR] :                  };
[ERROR] :              };
[ERROR] :          };
[ERROR] :      };
[ERROR] :      responseText = "{\"errors\":{\"form\":{\"children\":{\"title\":[],\"image\":[],\"body\":[],\"user\":[]}},\"errors\":[]}}";
[ERROR] :      status = error;
[ERROR] :      success = 0;
[ERROR] :  }
[ERROR] :  [REST API] apiCall ERROR: {"errors":{"form":{"children":{"title":[],"image":[],"body":[],"user":[]}},"errors":[]}}
[ERROR] :  [REST API] apiCall ERROR CODE: 500
[ERROR] :  [REST API] apiCall ERROR MSG: HTTP error
[ERROR] :  [REST API] apiCall ERROR URL: 

http://localhost:8888/appname/web/app_dev.php/api/dreams

更多信息

我正在使用这个适配器 https://github.com/viezel/napp.alloy.adapter.restapi

我可以编辑、获取、获取所有模型。我只停留在创建模型上,我不知道出了什么问题。我尝试使用 Advanced Rest Client 测试我的 api 本身,它运行良好。

【问题讨论】:

    标签: backbone.js titanium sync appcelerator titanium-alloy


    【解决方案1】:

    只是一个快速的猜测。我使用相同的 restapi 适配器 - 它似乎适用于我的用例。

    通常,http 错误“500”表示服务器端出现问题。所以你可能想先在服务器端跟踪这个问题。

    我使用 Google 的 Postman REST 客户端(可以在 Google Chrome 应用程序下 - 在书签栏中找到)来测试所有 REST 调用。这样,我可以在尝试在我的应用程序中使用该服务之前将事物分开并验证服务器是否按预期工作:-)

    /约翰

    【讨论】:

    • 谢谢,这可能是问题所在。我将使用 Google 的邮递员对其进行测试,在旁注中,您能否向我提供使用此 restapi 适配器的任何文档,因为找到的文档非常少。再次感谢您的帮助
    • 不,我没有比您在 Git Repo 中找到的更多的文档。你所做的似乎还可以。我真的相信您的问题与服务器上的服务有关 - 它可能需要您提供的其他东西。
    • 再次感谢您的考虑,我确实使用了邮递员,服务器端使用以下请求 POST /appname/web/app_dev.php/api/dreams HTTP/1.1 主机:localhost:8888 缓存-Control: no-cache Content-Type: application/x-www-form-urlencoded title=image&image=body&body=aslkdfja&user=2 我不知道这个请求是否与restapi适配器发送的不同。如果您对如何解决此问题有任何线索,我会很高兴@JohnDalsgaard
    • 你找到解决办法了吗?我面临同样的问题。 :( 它在 Android 上运行良好,但在 iPhone 上不行。
    猜你喜欢
    • 2013-09-07
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    • 2014-02-16
    • 2013-02-11
    • 1970-01-01
    • 2011-01-09
    • 2016-10-06
    相关资源
    最近更新 更多