Как передать значение параметра в имя схемы при выполнении Easy API?

0

Я создал 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);
         });
     }   
  
};
Теги:
azure
azure-api-apps

1 ответ

0
Лучший ответ

Я использовал ваш фрагмент кода для проверки на моей стороне. Он работает нормально. Если вы используете клиентскую библиотеку 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.

  • 0
    спасибо его работает ..

Ещё вопросы

Сообщество Overcoder
Наверх
Меню