Parse platform 使用HTTP请求和云代码解析响应变量问题
我正在尝试在afterSave中运行HTTP请求。它执行正确,但我得到了错误的响应变量,我被告知把在最后 这是密码Parse platform 使用HTTP请求和云代码解析响应变量问题,parse-platform,httprequest,response,parse-cloud-code,Parse Platform,Httprequest,Response,Parse 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.ima
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)
}
});
}
});
问题在于成功函数和错误函数
我尝试过但不起作用的事情:
将response作为afterSave调用中的第二个参数(它表示不能调用。未定义变量的成功)
清除代码的响应行(结果:未调用success/error)
将响应作为自己的函数响应调用(“请求失败,响应代码为”+httpResponse.status),它只是说响应未定义
我真的不在乎是否有任何回应,我只是想让代码正常工作
这个“响应”变量应该如何设置
谢谢大家! 参数中有一个额外的url,它引用了一个可能未定义的
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 });
}
});
你怎么知道代码失败了呢?它并不总是失败的,它通常会得到大约一半的艺术作品!不幸的是,我仍然得到:Result:TypeError:无法调用未定义的方法'error'。这可能是某种类型的超时问题吗?它仍然认为响应是未定义的。这是我的错。保存后不接受响应参数。以前是。很抱歉。可能是OP函数中的语法错误。请参阅编辑。没问题,谢谢,第二个url实际上是参数所必需的,但我自己添加了它。现在没有错误,但仍然有一些图像由于某种原因没有显示出来。我需要做更多的研究来了解原因,但是没有错误是很有帮助的,因为我在错误日志中得到了“结果:执行超时”和“结果:未调用成功/错误”。有没有可能我错过了一个成功或错误的机会。现在我们有了明确的诊断。尝试在浏览器中或使用CURL执行该req,看看发生了什么。