在我的小服务器上,我有一个名为/ assign的POST方法。它需要一些表单参数,并返回200成功和其他错误代码,当出现错误 - 没有JSON或HTML或文本或其他任何东西。使用jQuery进行AJAX调用是否必须返回数据?
我用jQuery写了一个ajax调用。它看起来像这样:
var formData={};
formData["vm-name"]=$("input#vm-name").val();
formData["vm-address"]=$("input#vm-address").val();
$.ajax({
url: "/api/redirects",
type: "POST",
data: formData,
success: function(){
window.location.href="/current";
},
error: function(data, textStatus, jqXHR){
permitSubmission();
errorMessage(["Network error. Try again."])
}
});
在我的服务器数据被接受,该方法执行,并返回一个200浏览器,网络检查显示请求作为一个200码返回。但是,总是调用错误函数; textStatus变量就像“parseerror”。一些谷歌搜索表明,这是由于无法解析返回的数据(这是有道理的,因为没有返回的内容。)
那么,有没有办法忽略内容的缺乏?
编辑:我想能够没有返回的内容,不修改服务器,所以它返回JSON或其他东西。
不是一个真正的答案,但我通常会返回“真实”或类似的东西,当我不真的想要返回响应。 – bhamlin
你正在返回的响应类型是什么?设置dataType为文本,看看是否奇迹般地解决了你的问题。 – epascarello
成功:function(){ window.location.href =“/ current”; }改为成功:function(result){ window.location.href =“/ current”; }?可能会按预期工作 – niko