JQUERY で RESTFULL サービスへの PUT リクエストを作成しようとすると、localhost (http://localhost/Domain) を使用して URL へのリクエストを作成しようとすると、リクエストが機能します。ただし、URL を一部の IP (http://192.123.32.3) に変更すると、サーバーでの操作は開始されません。
$.ajax({
type: "PUT",
url: urlOperation,
dataType: "json",
contentType: "application/json",
data: $.toJSON(submitVote), success: function (result)
{
alert('Great ...');
}
});
Chrome のエラーは「メソッド PUT は Access-Control-Allow-Methods では許可されていません」です。
私は Application_beginRequest イベントに put パーミッションを追加してこれを解決しようとしました:
private void EnableCrossDmainAjaxCall()
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
HttpContext.Current.Response.End();
}
}
jquery.Ajax のドキュメントを読んだ後、プロパティ crossDomain='true' を追加してみましたが成功しませんでした。
感謝と敬意