我尝试使用azure移动服务脚本过滤某些结果,但我在日志中收到此错误。我也会显示传递给此函数的参数。
ERROR 脚本错误' /table/Restaurant.read.js'。错误:传递给'查询'的回调选项无效。回调选项必须是至少有一次成功的对象。或者'错误'属性类型'或者类型为' 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);}});
}
答案 0 :(得分:1)
查询的参数需要作为单个数组传递,而不是每个参数传递一个数组。如果您从
更改查询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
("确定"全部为大写字母)。