2017-04-05 7 views
0

J'essaie d'envoyer une demande de publication avec un en-tête et un corps de requête. Jusqu'à présent, je suis arrivé à ce point:ngResource: Angularjs - Envoyer une demande de publication avec des en-têtes et un corps de requête

createJob: function(jobName, jobAddress, jobContact, jobComments) { 
        var payload = { 
         name: jobName, 
         address: jobAddress, 
         contact: jobContact, 
         comments: jobComments 
        }; 
        console.log(payload); 
        return $resource(route, {}, { 
         save: { 
          method: 'POST', 
          header: {'Content-Type': 'application/json'}, 
          transformRequest: function(data){ 
           console.log('Data in transform request is'); 
           console.log(data); 
           return data; // this will go in the body request 
          } 
         } 
        }); 
       } 

Je ne suis pas sûr où placer la charge utile dans ce cas, toute aide? De plus lors de l'appel, je suis en train d'essayer de faire quelque chose comme:

createJob(this.jobName, this.jobAddress, this.jobContact, this.jobComments). 
        save().$promise. 
        then(function (response) { 
         console.log('Create job response is'); 
         console.log(response); 
        }). 
        catch(function (error) { 
         console.log('Create job error is'); 
         console.log(error); 
        }); 

Toute aide serait appréciée!

Répondre

0

Je suis venu à une solution pour tous ceux qui se intéresse:

createJob: function(jobName, jobAddress, jobContact, jobComments) { 
      var payload = { 
       name: jobName, 
       address: jobAddress, 
       contact: jobContact, 
       comments: jobComments 
      }; 
      console.log(payload); 
      return $resource(route, {}, { 
       save: { 
        method: 'POST', 
        transformRequest: function(data){ 
         console.log('Data in transform request is'); 
         console.log(data); 
         return angular.toJson(data); // this will go in the body request 
        } 
       } 
      }).save({}, payload); 
     } 

createJob(this.jobName, this.jobAddress, this.jobContact, this.jobComments).$promise. 
      then(function (response) { 
       console.log('Create job response is'); 
       console.log(response); 
       //Refresh the page so newly created job can be seen 
       window.location.reload(); 
      }). 
      catch(function (error) { 
       console.log('Create job error is'); 
       console.log(error); 
      });