Método de poner no funciona en Google Chrome a través de AJAX

Tengo este trabajo bien en Mozilla e IE, pero por alguna razón no es Chrome. En Chrome, la callback de error se ejecuta cada vez que se devuelve un código de error de cero. Muchos artículos sobre Stackoverflow siguen reiterando cómo todos los principales navegadores admiten el método “PUT” a través de AJAX en lugar de formularios. Chrome parece ser la excepción …

JavaScript

function works(){alert("working");} // just a success callback $(document).ready(function(){ $("#crudForm").submit(function(){ $.ajax({url:"/UtilityDashboard/MeasurementNodes", data:parseFormData("crudForm"), cache: "false", async: "false", dataType: "text", contentType: "application/x-www-form-urlencoded", type:"put", success: works(), error:function(xhr){alert(xhr.status + xhr.statusText);} }); }); }); 

HTML

   Name


Node Id


Type


Parent


Longitude


Latitude


Description


Así que Eugene y Ohgod, ¿por qué tenían razón? ¡Chrome tiene soporte para el método “put” en el objeto XMLHTTPRequest!

Solución

El problema que estaba experimentando desapareció cuando dejé de usar el evento “enviar” para transmitir los datos de mi formulario, y en cambio confié en el evento “clic”. Esto solucionó algunos otros problemas que estaba teniendo donde, después de enviar chrome, agregaría las variables del formulario a la URL actual. Probablemente, esto también podría haberse resuelto utilizando event.preventDefault.