2016-07-22 14 views
0

Ich habe azure Easy API erstellt. Ich kann Parameterwerte über Invoke API-Client-Methode übergeben. Aber mein Problem ist nicht Schemaname innerhalb API.am erhalten unerwartete Verbindung error.If geben kann manualy Schemaname ich bekomme Ergebnis.Wie übergeben Sie den Parameterter-Wert beim Ausführen von Easy API an den Schemanamen?

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); 
 
     }); 
 
    } 
 
    
 
};

Antwort

0

ich verwendet, um Ihre Schlüssel-Code-Snippet auf meiner Seite zu testen. Es funktioniert gut. Wenn Sie JavaScript Client Library for Azure Mobile Apps verwenden und Ihre Anwendung über einen Webserver testen (testen Sie Ihre Anwendung über einen Browser unter Http://localhost:<port>), kann dies durch das CORS-Problem verursacht werden. Sie können Ihre lokale Herkunft in den CORS-Bereich Ihrer mobilen App festlegen und auf dem Azure-Portal() verwalten.

Andernfalls können Sie F12 Ihres Browsers drücken und festlegen, ob beim Ausführen Ihrer Anwendung eine Fehlermeldung angezeigt wird.

Übrigens, wie Sie POST-Methode verwenden, empfehle ich Ihnen, Ihre Daten über body Parameter zu übergeben. Beispiel

client.invokeApi('APIname', { 
     method: "post", 
     body: { 
      schemaname :'myschemaname', 
      license: $scope.LicenceId, 
      uname: $scope.username 

     } 
    }) 

Und in Ihrem Skript Einfachen APIs, können Sie die Daten über res.body erhalten.

+0

danke seine arbeit .. – divya

Verwandte Themen