当我运行此后台作业时,这就是我得到的日志。
I2015-06-05T11:17:37.360Z]v163: Ran job DeleteAccount with:
Input: "{\"username\":\"9369190589\"}"
由于存在“ \”,因此未定义request.params.username。因此,我无法访问用户名。如何从工作中访问用户名
更新:这是我正在尝试的代码的一部分
Parse.Cloud.job("DeleteAccount", function(request, response){
var id = request.object.get("username");
console.log("id = " + id);
});
这是错误:I2015-06-05T11:06:31.839Z] v163:使用以下命令运行作业DeleteAccount:
输入:“ {\” id \“:\” 9369190589 \“}”
失败:TypeError:无法调用未定义的方法“ get”
甚至request.params.username也无法正常工作
由于我没有足够的声誉来发表评论,因此我将在此处做出贡献。
我和你有同样的问题。此外,我注意到当使用REST请求调用作业时,输入日志将打印为
I2015-06-12T16:18:16.285Z]
I2015-06-12T16:18:16.503Z]v44: Ran job XXX with:
Input: {"api":"2oil4z6k","name_asset":"SX5E"}
Result: undefined
REST请求的参数声明为-d'{“ api”:“ 2oil4z6k”,“ name_asset”:“ SX5E”}'
而使用Scheduled Cloud Job调用作业时,日志将打印为
I2015-06-12T16:23:27.259Z]
I2015-06-12T16:23:27.432Z]v44: Ran job XXX with:
Input: "{\"api\":\"2oil4z6k\", \"name\":\"SX5E\"}"
Failed with: An error has occurred
该参数在参数输入中声明为{“ api”:“ 2oil4z6k”,“ name”:“ SX5E”}
因此,似乎“计划的云作业”正在转义JSON对象中的每个字符串。
解决方案是在request.params上调用JSON.parse()
data = JSON.parse(request.params);
希望对您有所帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句