解析云函数不会返回response.success

时间:2016-01-16 03:17:33

标签: parse-platform httprequest httpresponse cloud-code

我的云功能调用我正在托管的网络抓取工具并返回一个字符串,但是我无法响应。如果字符串很长,则将字符串返回到我的应用程序(由于某种原因,它仅适用于短字符串) 。这是我的代码:

Parse.Cloud.define("search", function(request, response){
    Parse.Cloud.useMasterKey();
    Parse.Cloud.httpRequest({
        url: 'https://xxx.herokuapp.com/',
        params: {
            keyword: request.params.searchTerm
        },
        success: function(httpResponse){
            // The httpResponse.text is received but for some reason
            // will not be returned with response.success
            response.success(httpResponse.text);
        }, error: function(httpResponse){
            response.error(httpResponse);
        }
    });
});

我已经被困在这个问题好几天了,任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

我犯了一个愚蠢的错误,当将字符串返回给应用程序时,似乎需要的是以下内容:

response.success(JSON.parse(httpResponse.text));

我不确定为什么这需要用更长的字符串来完成,而且短字符串似乎并不重要,但我确信这是有原因的。