我正在尝试使用 azure 移动服务脚本过滤一些结果,但我在日志中收到此错误。还显示了我传递给此函数的参数。
错误 脚本“/table/Restaurant.read.js”出错。错误:传递给“查询”的回调选项无效。回调选项必须是至少具有一个“function”类型的“success”或“error”属性或“Array”类型的 systemProperties 属性的对象。 [外部代码] 阅读时 (:7:11) 于:1:6 [外部代码]
这是我的代码
function read(query, user, request) {
var location=request.parameters.Location;
var category=request.parameters.Category;
console.log("location is"+location);
console.log("category is"+category);
var sql="SELECT * from restaurant where Location=? AND Category=?";
mssql.query(sql,[location],[category],{success:function(results){request.respond(statusCodes.Ok,results);}});
}
最佳答案
查询的参数需要作为单个数组传递,而不是每个参数一个数组。如果您将查询更改为
mssql.query(sql, [location], [category], {
success: function(results) { request.respond(statusCodes.Ok, results); }
});
至
mssql.query(sql, [location, category], {
success: function(results) { request.respond(statusCodes.OK, results); }
});
它应该可以工作。附带说明一下,您应该使用 statusCodes.OK
而不是 statusCodes.Ok
(“OK”全部大写)。
关于使用azure移动服务脚本时出现javascript错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34976902/