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 中设置了以下设置。

在此处输入图像描述

当我从网站进行 POST 调用时,我在 fiddler 中看到两个调用(可能一个是 CORS 的飞行前调用)。这在 chrome 和 Safari 中运行良好,但在 Firefox 中却不行。我收到 HTTP 405 错误。我正在使用 Firefox 21.0。

下面是从 Firefox 调用服务时 fiddler 的快照。

在此处输入图像描述

4

0 回答 0