Dlaczego ten jQuery AJAX PUT działa w Chrome, ale nie w FF

W Chrome robi to HTTP PUT tak jak powinno, ale w FireFox 21 tak nie jest. Brak błędów w konsoli javascript lub w zapleczu.

Oto HTML:

<div id="createTeamModal" class="small reveal-modal">
        <form id="createTeamForm">
            <div class="row"><p id="teamFlavorText" class="lead">Building a new team</p></div>
            <div class="row">
                <div class="small-4 large-4 columns"><label>Team Name:</label></div>
                <div class="small-6 large-6 columns"><input name="teamName" id="teamName" type="text" size="20"/></div>
            </div>
            <div class="row"><p class="lead">Does this team work for a business?</p></div>
            <div class="row">
                <div class="small-4 large-4 columns"><label>Business Size:</label></div>
                <div class="small-6 large-6 columns">
                    <select id="businessSizeSelect" name="businessSizeSelect">
                    <option value="1">Nope, I work alone</option><option value="2">2 to 49</option><option value="3">50 to 99</option><option value="4">100 to 999</option><option value="5">1,000+</option>
                    </select>
                </div>
            </div>
            <div id="businessLocationDiv" class="row" style="display: none; margin-top: 20px;">
                <div class="small-4 large-4 columns"><label>Business Location:</label></div>
                <div class="small-6 large-6 columns">
                    <select id="businessLocationSelect" name="businessLocationSelect">
                    </select>
                </div>
            </div>
            <div id="businessTypeDiv" class="row" style="display: none; margin-top: 20px;">
                <div class="small-4 large-4 columns"><label>Industry:</label></div>
                <div class="small-6 large-6 columns">
                    <select id="businessTypeSelect" name="businessTypeSelect">                      
                    </select>
                </div>
            </div>
            <div class="row" style="margin-top: 20px;">
                <div class="large-offset-10 small-1 large-1 columns">
                    <button id="createTeamButton" class="small button">Create</button>
                </div>
            </div>
        </form>
        <a class="close-reveal-modal">&#215;</a>
    </div>

A oto jQuery:

$("#createTeamButton").click(function () {
    var teamObject = new Team();
    teamObject.description = $("#teamName").val();
    teamObject.businessSize = $("#businessSizeSelect").val();
    teamObject.businessType = $("#businessTypeSelect").val();
    teamObject.businessLocation = $("#businessLocationSelect").val();

    $.ajax({
        type: "PUT",
        url: "/ajax/rest/team",
        dataType: "json",
        data: JSON.stringify(teamObject),
        success: function () {
            // Reload the team select box
            loadTeamSelectBox();

            // Pop up the site create modal
            $('#createSiteModal').foundation('reveal', 'open');
        },
        error: ajaxErrorHandler
    });
});

Obserwowałem je w Fiddler, a różnica między pracą (Chrome) a nie działaniem (Firefox) polega na tym, że HTTP PUT uruchamia się w Chrome i nie uruchamia się w Firefoksie.

Teraz wiem, że JQuery.ajax PUT nie jest gwarantowany we wszystkich przeglądarkach.

przeczytałem

Czy metody PUT, DELETE, HEAD itp. Są dostępne w większości przeglądarek internetowych?http://annevankesteren.nl/2007/10/http-method-support

Strony te potwierdzają, że PUT może nie działać we wszystkich przeglądarkach, ale powinien działać w FF.

Wreszcie trafiłem na FF21 i PUT

http://www.mnot.net/javascript/xmlhttprequest/

Z pewnością mógłbym to zaprojektować, ale wydaje mi się, że to powinno zadziałać. Wolałbym raczej nie szarpać czegoś, ale raczej sprawić, by .ajax jQuery działał poprawnie.

Inne szczegóły: * jQuery wersja 2.0.0 * Backend to Spring3

[Edytuj, aby dodać HTML]

questionAnswers(4)

yourAnswerToTheQuestion