La SCRO activé mais la réponse pour le contrôle en amont est non valide code d'état HTTP 404 lors de la Publication JSON

J'ai cherché à fond mais ne peut pas trouver une solution à ce problème dans mon cas particulier.

De la croix-domaine des appels de service à l'aide de Fiddler (POST) exécuter correctement et la réception des données. Cependant, par le biais du navigateur (Chrome), j'obtiens le message de contrôle est non valide code d'état HTTP 404'

J'ai une Web application de l'API et avez installé la SCRO et a assuré des conditions suivantes est présente dans le site web.fichier de configuration:

<system.webServer>
    <handlers>
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <remove name="OPTIONSVerbHandler" />
      <remove name="TRACEVerbHandler" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Headers" value="Content-Type" />
        <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
      </customHeaders>
    </httpProtocol>
</system.webServer>

Voici l'appel Ajax:

var secretKey = 'difusod7899sdfiertwe08wepifdfsodifyosey',
    url = 'http://api.intrinsic.co.uk/api/v1/PTS/ActiveDrivers?api_key=098werolllfWnCbPGAuIXVOJidDHRfYcgxImMlxTXopuekXrSOqOWzEAIdeNTWGPQPpyHxgVGsFysGFKPzq';

  jQuery.ajax ({
      url: url,
      type: "POST",
      data: JSON.stringify({ secretKey: secretKey}),
      dataType: "json",
      contentType: "application/json; charset=utf-8",
      success: function(data){
          var content = "<table class=\"container\"><thead><tr><th>Driver Number</th><th>Timestamp</th><th>VRN</th><th>Latitude</th><th>Longitude</th><th>Track Link</th></tr></thead><tbody>";
          $.each(data.ActiveDrivers.DriverLocationStatus, function (index, element) {
              content += "<tr><td>" + element.DriverNumber + "</td>";
              content += "<td>" + dateFormat(element.Timestamp, "d/m/yy") + " " + dateFormat(element.Timestamp, "h:MM TT") + "</td>";
              content += "<td>" + element.VRN + "</td>";
              content += "<td>" + element.CurrentLatitude + "</td>";
              content += "<td>" + element.CurrentLongitude + "</td>";
              content += "<td><a href=\"https://www.google.co.uk/maps/place//@" + element.CurrentLatitude + "," + element.CurrentLongitude + ",15z/\" target='_blank'>Track &raquo;</a></td></tr>";
          });
          content += "</tbody></table>";
          $( "#result" ).html( content );
      }
  });

Évidemment, fonctionne sur le même domaine parfaitement et, comme mentionné, il fonctionne à l'aide de Fiddler.

Je suis certain qu'il est le navigateur OPTIONS de contrôle en amont de vérifier qui est un échec pour le contenu de type "application/json", mais je ne suis pas sûr de savoir comment le résoudre.

Est qu'il manque quelque chose dans le web.fichier de configuration que je dois ajouter?

J'ai essayé de l'enlever "content-type" avec aucun effet.

J'avais espéré cet article permettrait de résoudre le problème (s'il semblait prometteur), mais la même erreur s'est produite:

XMLHttpRequest cannot load [URL]. Response for preflight has invalid HTTP status code 404
InformationsquelleAutor ChrisCurrie | 2016-03-28