Я создал azure Easy API. Я могу передавать значения параметров через клиентский метод Invoke API. Но моя проблема не может получить имя схемы в API.am, чтобы получить непредвиденную ошибку соединения. Если введите имя схемы вручную, я получаю результат.
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);
});
}
};
Я использовал ваш фрагмент кода для проверки на моей стороне. Он работает нормально. Если вы используете клиентскую библиотеку JavaScript для Azure Mobile Apps и протестируете приложение через веб-сервер (проверьте приложение через Http://localhost:<port>
в браузере), это может быть вызвано проблемой CORS. Вы можете установить локальное происхождение в раздел CORS вашего мобильного приложения, управляющего protal на портале Azure (https://ms.portal.azure.com).
В противном случае вы можете нажать F12 вашего браузера и установить меня, если при запуске приложения появляется сообщение об ошибке.
Кстати, когда вы используете метод POST, я предлагаю вам передать ваши данные через параметр body
. НАПРИМЕР,
client.invokeApi('APIname', {
method: "post",
body: {
schemaname :'myschemaname',
license: $scope.LicenceId,
uname: $scope.username
}
})
И в вашем сценарии Easy APIs вы можете получить данные через res.body
.