2016-06-28 7 views
-1

Inクロムがこの応答を取得しているクロスドメインでAPI呼び出しを使用しています。他のドメインのREST APIにすべてのヘッダーが含まれています。Preflightへの応答が405で返されましたエラーコード:Angular JS

<add name="Access-Control-Allow-Origin" value="*"/> 
     <add name="X-Content-Type-Options" value="nosniff"/> 
     <add name="X-XSS-Protection" value="1;"/> 
     <remove name="X-Powered-By"/> 
     <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept"/> 
     <add name="Access-Control-Allow-Methods" value="POST,GET"/> 

これは私のAPI呼び出しです。

$scope.XYZ=customURLWithoutArray.save({ 
     controller:"XYZController", 
      actionName:"ABCACTIONNAME", 
      UserId: "VC" 
     }, 
      function($success){ 

     return $success; 
       },function($error){ 
     return $error; 
    });  

コントローラにヒットできますが、データはnullです。

+0

あなたはメソッドにアクセスする権限を持っている場合にも、使用しているAPIを指定し、 。これまでのところ、405エラーを返すので、アクセスが許可されていません。 – Renesansz

+0

これはホストされているAPIであり、アクセスする権限があります。私は私のためにデバッグモードでAPIを開いて、同じものをヒットしようとしました –

+0

そして、投稿を投票する理由はありません。 –

答えて

0

ご存じのように、プリフライトリクエストではHTTP OPTIONSリクエストが送信されます。お使いの構成では

(私はそのいくつかのIISサーバーを想定?)あなたがこれを持っている:

<add name="Access-Control-Allow-Methods" value="POST,GET"/> 

あなたがOPTIONSを許可していないことを意味します。

だからこれにそれを修正してみてください:CORSのためのIISの設定の

<add name="Access-Control-Allow-Methods" value="POST,GET,OPTIONS/> 

詳細情報:
https://stackoverflow.com/a/31084417/6139050

関連する問題