我已经创建了azure Easy API。我可以通过Invoke API客户端方法传递参数值。但是我的问题是无法在API.am中获取模式名称得到意外的连接错误。如果输入manualy模式名称我得到结果。
IN my controller
$scope.saveuserdet = function (user) {
$scope.LicenceId = user.LicenceId;
$scope.username = user.username;
$scope.name = user.name;
var adduserclient = new WindowsAzure.MobileServiceClient('http//xxxxxxx');
adduserclient.invokeApi('APIname', {
body: null,
method: "post",
parameters: {
schemaname :'myschemaname',
license: $scope.LicenceId,
uname: $scope.username
}
}).done(function (results) {
var message = results.result.count + " item(s) marked as complete.";
}, function (error) {
$scope.showmessage = " Details are not Saved.Try Again";
});
};
module.exports = {
//"get": function (req, res, next) {
//}
"post": function (req, res, next) {
var query = {
// sql: 'EXEC **@schemaname.<Storedprocedurename>** @license,@uname ',
sql: 'EXEC **"'+ Myschema Name +'".<Storedprocedurename>** @license,@uname ',
parameters: [
{ name: 'schemaname', value: req.query.schemaname },
{ name: 'license', value: req.query.license },
{ name: 'uname', value: req.query.uname }]
};
req.azureMobile.data.execute(query).then(function (results) {
res.json(results);
});
}
};
答案 0 :(得分:0)
我使用您的密钥代码片段来测试我的身边。它工作正常。如果您正在使用JavaScript Client Library for Azure Mobile Apps并通过Web服务器测试您的应用程序(通过浏览器访问Http://localhost:<port>
测试您的应用程序),则可能是由CORS问题引起的。您可以将本地源设置为Azure门户(https://ms.portal.azure.com)上移动应用程序管理protal的CORS部分。
否则,您可以按浏览器的F12,如果您在运行应用程序时出现任何错误消息,请设置我。
顺便说一下,当您使用POST方法时,我建议您通过body
参数传递数据。如,
client.invokeApi('APIname', {
method: "post",
body: {
schemaname :'myschemaname',
license: $scope.LicenceId,
uname: $scope.username
}
})
在Easy API脚本中,您可以通过res.body
获取数据。