2017-10-14 1 views
2

J'ai réagi + redux client et C# API. J'essaie actuellement d'implémenter la méthode delete dans rea.Axios.Delete() ne s'exécute pas et ne bloque pas le bloc

patients.js

deletePatient(patientId) { 
    debugger; 
    axios.delete(url + 'patients/' + patientId).then(res => 
    {  
     this.props.dispatch(deletePatientAction(res)); 
    }) 
    .catch(function(error) { 
     console.log(JSON.stringify(error, null, 2)); 
    }); 
} 

PatientController.cs

[HttpDelete] 
    public HttpResponseMessage Delete(int id) 
    { 
     patientTasks.Delete(id); 

     return Request.CreateResponse(HttpStatusCode.OK); 
    } 

quand je debug en chrome je peux voir que puis et bloc catch n'est pas exécuté. La demande n'est pas interceptée sur mon contrôleur C#.

Lorsque j'essaie la même requête avec Postman, la demande est normalement interceptée dans l'API.

Cela ne fonctionne pas, même si je mets l'url comme une chaîne hardcoded axios.delete('http://localhost:1467/v1/patients/11')

Pouvez-vous s'il vous plaît me dire ce qui se passe (pas le cas)?

Note: méthodes get fonctionnent correctement

+0

Est-ce que cela fonctionne si vous exécutez la même requête avec un facteur? – Freez

+0

oui, je l'ai dit dans ma question. – pandemic

+0

désolé j'ai lu trop vite ... Que voyez-vous dans l'inspecteur du réseau Chrome? – Freez

Répondre

1

Avec les grand merci à mon ami, je suis annonce la solution de travail. Il me manquait les en-têtes par défaut. Postman est en insérant des en-têtes par défaut, avec axios je dois le définir par moi-même.

deletePatient(patientId) { 
     var config = { 
      headers: { 
       'User-Agent':'', 
       'Accept':'', 
       'Host':'' 
      } 
     }; 

     axios.delete(url + 'patients/' + patientId, config).then((res) => 
     {  
      this.props.dispatch(deletePatientAction(res)); 
     }) 
     .catch(function(error) { 
      console.log(JSON.stringify(error, null, 2)); 
     });    
}