jQuery Ajax PUT不触发

The following ajax works exactly as advertised in Chrome. HTTP PUT is used to trigger the insertion of an object into a RESTful API.

        $.ajax({
            type: "PUT",
            url: "/ajax/rest/team/create/",
            dataType: "json",
            processData: false,
            data: JSON.stringify(teamObject),
            success: function (response) {
                teamObject = response.object;
            }
        }); 

I note that the jQuery API docs helpfully tell me that PUT and DELETE may work but are not guaranteed in all browsers. Such as is my problem.

How is a RESTful API supposed to be implemented on the client side with a problem like this?

EDIT: Firebug tells me that FF is indeed issuing a PUT, but for some currently unknown reason it's dying before getting to the server. To repeat, this works fine in Chrome.

EDIT: Fiddler doesn't see the FF attempt at all. :(

I got the following to work.

var payload = JSON.stringify(teamObject)
syncHTTP('/ajax/rest/team/create/', 'PUT', payload);

function syncHTTP(url,method,payload) {
    var client = new XMLHttpRequest();

    client.open(method, url, false);
    client.setRequestHeader("Content-Type", "text/plain");
    client.send(payload);
}

I'd rather use jQuery than roll my own tho. :| If anyone ever figures it out, just add an answer and if it works I'll accept it.

Thanks.

    $.ajax({
        type: "PUT",
        url: "/ajax/rest/team/create/",
        dataType: "json",
        contentType: "application/json",
        processData: false,
        data: JSON.stringify(teamObject),
        success: function (response) {
            teamObject = response.object;
        }
    }); 

You need to add contentType. When contentType is set to application/json jquery do not try to create JSON object from JSON string but send it as is - as string.