解析云代码给我代码:141错误

时间:2014-03-24 17:45:55

标签: ios objective-c parse-platform ebay

My Parse云代码的结构如下:

Parse.Cloud.define("eBayCategorySearch", function(request, response) {
          url = 'http://svcs.ebay.com/services/search/FindingService/v1?SECURITY-APPNAME=*APP ID GOES HERE*';

        Parse.Cloud.httpRequest({
            url: url,
            params: {
             'OPERATION-NAME' : findItemsByKeywords, 
             'SERVICE-VERSION' : '1.12.0', 
             'RESPONSE-DATA-FORMAT' : JSON, 
             'callback' : _cb_findItemsByKeywords,
             'itemFilter(3).name=ListingType' : 'itemFilter(3).value=FixedPrice',
             'keywords' : request.params.item,

              // your other params
           },
            success: function (httpResponse) {
            // deal with success and respond to query
},
            error: function (httpResponse) {
                console.log('error!!!');
                console.error('Request failed with response code ' + httpResponse.status);
            }
       });
});

我在我的iOS应用程序中调用该函数,如下所示:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if (sender != self.nextButton) return;
    if (self.itemSearch.text.length > 0) {

        [PFCloud callFunctionInBackground:@"eBayCategorySearch"
                           withParameters:@{@"item": self.itemSearch.text}
                                    block:^(NSNumber *category, NSError *error) {
                                        if (!error) {NSLog(@"Successfully pinged eBay!");
                                        }

                                    }];


    }

    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.

}

基本上我想要做的是将用户输入的任何搜索查询带入itemSearch字段,ping eBay的数据库,并返回结果最多的categoryID。但是,Parse没有记录“成功ping通eBay!”,而是发出以下错误:Error: function not found (Code: 141, Version: 1.2.18)

3 个答案:

答案 0 :(得分:4)

我猜这个功能本身有问题。我已经看到了几个错误信息的例子,当它确实是功能故障时,并没有丢失。

在云代码指南中,我找到了这个例子:

Parse.Cloud.define("averageStars", function(request, response) {
  var query = new Parse.Query("Review");
  query.equalTo("movie", request.params.movie);
  query.find({
    success: function(results) {
      var sum = 0;
      for (var i = 0; i < results.length; ++i) {
        sum += results[i].get("stars");
      }
      response.success(sum / results.length);
    },
    error: function() {
      response.error("movie lookup failed");
    }
  });
});

此函数根据状态调用response.success和response.error。看来你的没有。

答案 1 :(得分:0)

检查您的成功功能。它不是在调用`response.success();

同样转到仪表板并检查您的功能是否真的在main.js更新,因为错误消息显示&#34;功能未定义&#34;。

答案 2 :(得分:0)

刚被自己抓住了。我的问题非常简单

使用 $locations = @( ("C:\Users\username\Desktop\source","C:\Users\USERNAME\Desktop\dest","1234"), ("C:\Users\username\Desktop\source1","C:\Users\USERNAME\Desktop\dest","5678") ) Foreach ($value in $locations) { Foreach ($file in (Get-ChildItem -Path $value[0])) { If ($file.Name -match $value[2]) { $path = Join-Path $value[0] $file $path } } } 犯了一个错误,最终创建了一个名为&#34; 3&#34;而不是在列表中的第三个项目上工作。所以我的Cloud Code功能没有上传到我正在使用的应用程序