使用jQuery函数时的HTTP 405;发送OPTIONS

时间:2012-09-06 03:33:08

标签: jquery asp.net-mvc http asp.net-web-api

我遇到了一个非常奇怪的问题。以下jQuery接收HTTP 405错误代码并发送OPTIONS请求方法而不是GET。

function GetPerf() 
{
    jQuery.support.cors = true;
    leInterval = setInterval(function()
    {
    $.ajax({
        url: "http://localhost/PerfMon3/api/performance/categories",
        data: { machine_name : "CLOUDMACHINE" },
        type: "GET",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        xhrFields: {
        withCredentials: true
        },
        success: function (data) {
            WriteResponse(data);
        },
        error: function (x, y, z) {
            alert(data);
        }
    });
    },
    1000)
}

有趣的是,这在Internet Explorer中完全正常,但Chrome我得到了405.有谁知道发生了什么?

附加说明: 无论浏览器在运行应用程序所在的IIS的浏览器中运行它都能正常工作。此问题仅在远程计算机上发挥作用。

1 个答案:

答案 0 :(得分:0)

好吧,我只是想在SO上询问后立即找到我自己的测试问题的答案。我很抱歉,伙计们。

我将jQuery中的url行更改为

url: "http://cloudmachine/PerfMon3/api/performance/categories"

现在它完美无缺。

但是,为什么它最初仅适用于IE?这没有意义。