所以我试图让云代码执行一个后续事件来ping另一个位置以进行一些数据保存。
它还有一些数据需要发送。
Parse.Cloud.afterSave("ArtPiece", function(request) {
var artistURL = 'http://www.gallery-admin-dev.iartview.com/Gilmans/imageSave.php';
var pieceName = "Robert Rauschenberg Quote";
var url = 'http://www.gilmancontemporary.com/wp-content/uploads/2015/06/Delicate_Garden.The_Bear.48x42.jpeg';
Parse.Cloud.httpRequest({
url: artistURL,
dataType : "text",
crossDomain: true,
type:"GET",
data : {
pieceName : pieceName,
url : url
},
success: function(httpResponse) {
response(httpResponse.text);
},
error: function(httpResponse) {
response('Request failed with response code ' + httpResponse.status)
}
});
});
代码不会出现错误或任何警告。我保存/创建条目工作正常。
已经处理了Cors,因为我可以使用ajax脚本成功进行此调用。
任何线索为什么这不发送? 我可以在解析httpRequest中没有数据吗? 它可以不是跨域吗?
可替换地 有没有办法在Parse Cloud之外测试这段代码???
答案 0 :(得分:2)
您在云中调用httpRequest
功能的方式不正确。您也不需要担心CORS,因为您不在浏览器环境中工作。试试这个:
Parse.Cloud.httpRequest({
url: artistURL,
params: {
pieceName : pieceName,
url : url
},
success: function(httpResponse) {
response(httpResponse.text);
},
error: function(httpResponse) {
response('Request failed with response code ' + httpResponse.status)
}
});
要测试此外部云环境,您可以使用curl
命令。它将类似于:
curl -G -v "http://www.gallery-admin-dev.iartview.com/Gilmans/imageSave.php" --data-urlencode "pieceName=Robert Rauschenberg Quote,url=http://www.gilmancontemporary.com/wp-content/uploads/2015/06/Delicate_Garden.The_Bear.48x42.jpeg"