Sam Alexander
Sam Alexander

Reputation: 491

Parse Response Variable Issues with HTTP Request and Cloud Code

I am trying to run an HTTP Request in an afterSave. It executes correctly, but im getting errors with the response variable I was told to put in the end.

Here is the code

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)
        }
    }); 
}
});

The problem is the success and error functions.

Things I have tried that have not worked: Putting response as a second parameter in the afterSave Call (it says can not call .success of an undefined variable)

Getting rid of the response lines of code (Result: success/error was not called)

Calling Response as its own function response('Request failed with response code ' + httpResponse.status) it just says response is undefined.

I dont really care about having any response or not, I just want the code to work properly.

How is this 'response' variable supposed to be set up?

Thank you!

Upvotes: 1

Views: 192

Answers (1)

danh
danh

Reputation: 62686

There was an extra url in the parameters, a reference to a probably undefined 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 });
    }
});

Upvotes: 1

Related Questions