Por que este jQuery AJAX PUT funciona no Chrome, mas não no FF?

No Chrome isso faz um HTTP PUT como deveria, mas no FireFox 21 não. Não há erros no console do JavaScript ou no back-end.

Aqui está o 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>

E aqui está o 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
    });
});

Eu os observei no Fiddler, e a diferença entre trabalhar (Chrome) e não trabalhar (Firefox) é que o HTTP PUT dispara no Chrome e não é disparado no Firefox.

Agora, eu sei que o jQuery.ajax PUT não é garantido em todos os navegadores.

eu li

Os métodos PUT, DELETE, HEAD, etc estão disponíveis na maioria dos navegadores da web?http://annevankesteren.nl/2007/10/http-method-support

Esses sites reafirmam que o PUT pode não funcionar em todos os navegadores, mas deve funcionar no FF.

Finalmente, eu bati o seguinte com FF21 e PUT funciona

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

Eu certamente poderia engenheiro em torno disso, mas parece-me que isso deve funcionar. Eu preferiria não manipular algo, mas fazer com que o .ajax do jQuery funcione corretamente.

Outros detalhes: * jQuery versão 2.0.0 * Backend é Spring3

[Editar para adicionar o HTML]

questionAnswers(4)

yourAnswerToTheQuestion