我在 Mozilla 和 IE 中可以正常工作,但由于某种原因不是 chrome。在 chrome 中,每次返回错误代码为零时都会执行错误回调。Stackoverflow 上的许多文章不断重申所有主流浏览器如何通过 AJAX 而不是表单来支持“PUT”方法。Chrome似乎是个例外......
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
<form id="crudForm">
Name<BR/>
<input type="text" name="name"/><BR/><BR/>
Node Id<BR/>
<input type="text" name="node_id"/><BR/><BR/>
Type<BR/>
<input type="text" name="type"/><BR/><BR/>
Parent<BR/>
<input type="text" name="parent_id"/><BR/><BR/>
Longitude<BR/>
<input type="text" name="longitude"/><BR/><BR/>
Latitude<BR/>
<input type="text" name="latitude"/><BR/><BR/>
Description<BR/>
<textarea name="description" rows="5" cols="40">Insert description of measurement node here</textarea><BR/><BR/>
<input type="submit" value="Add Node"/>
</form>