私はAngul 1.6.4アプリケーションをgulpとBrowser-syncで使用しています。 "gulp server"コマンドを使用してBrowser-syncをアップロードし、webapi 2.0 c#でポストリクエストを行う場合、リクエストはオプションとして送信されます。Angelsjs with browsersync postメソッドをオプションとして送信
エラー:プリフライトのため OPTIONS ... 405(許可されていないMETHOD)
のXMLHttpRequest connot負荷...レスポンスが無効なHTTPステータスコード405
ブラウザ同期
を持っていますbrowserSync.init({
notify: false,
cors: true,
port: 6543,
server: {
baseDir: config.dir.src,
routes: {
"/bower_components": "bower_components"
},
middleware: function(req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '*');
next();
}
}
});
角度JSリクエスト
$http({
method: 'POST',
url: 'http://localhost/Teste/TesteController/Cadastrar',
headers: {
'Content-Type': 'application/json',
},
data: envelope
}).then(function (response) {
deferred.resolve(response);
}, function (error) {
deferred.reject(error);
});
WEBAPI
[HttpPost]
public IHttpActionResult Teste(Teste responsavel)
{
var saida = MontarSaida(_service.Cadastrar(responsavel, _serviceUsuario));
return Ok(ResponseContent.Create("Ok", null, saida, 1));
}
解決:答えがたくさんあるStaskでweb.configファイル
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept, Authorization" />
S.Davを有効にする必要がありますが、私はこの問題を解決:あなたはOPTIONSがあなたのAPIコントローラに呼び出して処理していない場合、このエラーが発生する可能性がありますweb.configのエラー追加: –