0

以下のコードは私のウェブサイトにあります:

 function validateRequest() {
    var $form = $('form');
    if ($form.valid()) {

        $.support.cors = true;

        var lnkey = $('#txtloan').val();
        var psw = $('#txtpsw').val();
        var loanServiceUrl = @Html.Raw(Json.Encode(ConfigurationManager.AppSettings["LoanServiceURL"]));
        var msg = {"loan": lnkey, "psw": psw};

        $.ajax({
            cache: false, 
            async: true,
            type: "POST",
            url: loanServiceUrl + "ValidateRequest",                
            data: JSON.stringify(msg),
            contentType: "application/json; charset=utf-8",
            dataType: "json",  //jsonp?                
            success: function (response) {
                $(response).each(function(i, item) {

                    if (item.Validated.toString().toUpperCase() == 'TRUE') {
                        // When validation passed
                        $('#divResult').load('@Url.Action("GetLoanInfo", "Validate")');
                        $("#btnClearStatus").show();
                        $('#btnGetStatus').hide();
                    }                        
                });                 
            },
            error: function (errormsg) {
                alert("ERROR! \n" + JSON.stringify(errormsg));                   
            }
        });            
    } 
}      

サービスが展開されている IIS で次の設定を行いました。

ここに画像の説明を入力

Web サイトから POST 呼び出しを行うと、フィドラーで 2 つの呼び出し (おそらく 1 つは CORS の飛行前呼び出し) が表示されます。これは chrome と Safari では正常に機能しますが、Firefox では機能しません。HTTP 405 エラーが発生します。Firefox 21.0 を使用しています。

以下は、Firefox からサービスが呼び出されたときのフィドラーからのスナップショットです。

ここに画像の説明を入力

4

0 に答える 0