如何在执行Easy API时将参数值传递给模式名称?

时间:2016-07-22 11:32:32

标签: angularjs azure azure-api-apps

我已经创建了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);
         });
     }   
  
};

1 个答案:

答案 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获取数据。