解析HTTP请求和云代码的响应变量问题

时间:2015-12-23 18:19:56

标签: parse-platform httprequest response cloud-code

我正在尝试在afterSave中运行HTTP请求。它正确执行,但我得到了响应变量的错误,我被告知最终。

这是代码

Parse.Cloud.afterSave("ArtPiece", function(request) {
var artistURL = 'http://www.gallery-admin-dev.iartview.com/Gilmans/imageSave.php';

var artPiece = request.object;

if (typeof request.image === "undefined") {

    var pieceName = artPiece.get("piece_name");

    var url = artPiece.get("imageURL");

    Parse.Cloud.httpRequest({
        url: artistURL,
        params: {
          pieceName : pieceName,
          url : url
        },
        success: function(httpResponse) {
            response.success();
        },
        error: function(httpResponse) {
            response.error('Request failed with response code ' + httpResponse.status)
        }
    }); 
}
});

问题在于成功和错误功能。

我尝试过的事情没有奏效: 将响应作为afterSave调用中的第二个参数(它表示无法调用未成功变量的。)

删除代码的响应行(结果:未调用成功/错误)

将响应调用为自己的功能响应('请求失败并附带响应代码'+ httpResponse.status)它只是说响应未定义。

我真的不关心是否有任何回复,我只是想让代码正常工作。

这个'响应'变量应该如何设置?

谢谢!

1 个答案:

答案 0 :(得分:1)

参数中有一个额外的网址,对可能未定义的artistURL的引用......

Parse.Cloud.afterSave("ArtPiece", function(request) {
    var artistURL = 'http://www.gallery-admin-dev.iartview.com/Gilmans/imageSave.php';
    var artPiece = request.object;
    if (typeof request.image === "undefined") {
        var pieceName = artPiece.get("piece_name");
        var url = artPiece.get("imageURL");
        var params = { pieceName : pieceName };
        return Parse.Cloud.httpRequest({ url: artistURL, params: params });
    }
});