Web API(asp net 5)のRESTサービスで、Webサイトから要求が送信されましたが、サービスが要求オプションをWebサイトに送信すると、返信はHTTP 1/1 404 Not Found
と表示されます。オプションに対するサーバーの応答が見つかりませんでした
Fiddler Screenshot of the "Options" request
サービスのコントローラは、ウェブサイトにアクセスしている
public class Startup {
public void ConfigureServices (IServiceCollection services) {
services.AddCors();
services.AddMvc();
}
}
機能によって設定されています:
[Route("/operator")] // localhost:5000/operator
public class OperatorController : Controller
[EnableCors(origins:'*', headers>'*', methods:'*');
public IActionResult Index()
{
return new HttpOkObject("Hello, select your operation");
}
(クラス呼び出し、インデックスへのルートを送る)この機能にアクセスするウェブサイトが追加
<script type="text/javascript">
$(document).ready(function() {
var options = {};
options.url = "http://localhost:5000/installments";
options.type = "GET";
options.contentType = "application/jsonp";
// options.dataType="jsonp";
options.success = function (results) {
alert(results.join);
};
options.error = function(evt){
alert(evt.status + " - " + evt.statusText)
};
$.ajax(options);
});
</script>
[EDIT] AJAXにラインを使用して実装され
<pre><code>app.Use(async (context, next) => { context.Response.Headers.Append("Access-Control-Allow-Origin", "*"); await next(); });</code></pre>
app.UseMvc();
必要なヘッダーを追加しますが、エラーが発生します “Response for preflight has invalid HTTP status code 404”
を[ルート( "/ operator")] –
しかし、私はそれが必須のメソッドだと思います。そのルートを使用するHTTPメソッドを設定するには、[HttpGet]があることを確認してください。私は答えを編集 – acostela
acostela、私はそれを試みたが、それは動作しませんでした。 –