J'ai un ASP.Net Core et un projet Web Api dans la même solution. J'appelle Get, Post, Put, Delete à partir de mon projet de base qui est défini dans mon projet Api. Définitivement, je dois activer CORS.Champ d'en-tête de requête x-ms-request-root-id n'est pas autorisé par Access-Control-Allow-Headers dans la réponse de pré-contrôle
Bellow est le code que j'ai ajouté dans mon fichier web.config Api Web,
<httpProtocol>
<customHeaders>
<!-- Enable Cross Domain AJAX calls -->
<clear />
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type"/>
</customHeaders>
</httpProtocol>
Et mon code Ajax projet de base,
$.ajax({
"url": "myApiUrl",
"type": "Get",
"data": {
//Here I'm passing a value
},
success: function (d) {
}
je définir à la fois les projets comme projet de démarrage . Pas une solution. Il appelle la méthode Api et renvoie les données. Mais parfois, il ne retourne rien, même la méthode renvoie des données, je reçois l'erreur dans browser console
que j'ai mentionné dans le titre de ma question. J'ai vérifié beaucoup de réponses dans SO, y compris this one, tous ont dit que je dois ajouter access control
dans mon response header
. N'importe qui me dit où j'ai besoin d'ajouter exactement et ce que j'ai besoin d'ajouter pour que cela fonctionne comme prévu.
J'ai vérifié aussi avec le projet Asp.net MVC à la place de Core, la même chose s'est produite.
Remarque: J'ai ajouté CORS dans mon projet Web Api et non dans mon projet Web.
est-autorisation activée dans l'action de l'API Web-à-dire Autorisez attribut? –
Non. Pour l'instant, je fournis toutes mes méthodes Api sans authentification –
Ok. Pourriez-vous montrer comment vous avez activé CORS? –