我使用$阿贾克斯()将数据发送到数据保存到数据库中的控制器动作。数据保存后,我不需要$ .ajax()的任何回调函数。我只想提出另一种观点。但是由于$ .ajax()需要返回一些东西,所以我收到一个解析器错误。如何使一个Ajax调用,而不回调
这里是我的Ajax调用:
$("#submit_btn").click(handleSubmit);
function handleSubmit(e) {
alert("Clicked!");
e.preventDefault();
var ans = [];
for (var i = 0; i <= id_txt; i++) {
ans.push($("#_addText" + i).val())
}
var options = {};
options.url = "/Technique/Steps";
options.type = "POST";
options.data = JSON.stringify(
{
Id: $("#Id").val(),
Poradi: $("#Poradi").val(),
TechniqueId: $("#TechniqueId").val(),
Answers: ans
});
options.contentType = "application/json";
options.dataType = "json";
options.error = function (jqXHR, status, err) { alert(status + "from AJAX"); };
$.ajax(options);
};
有什么办法说这个方法,我不需要任何东西,所以请不要期望
return JSON(someobject)
从控制器动作
。
我的猜测是你得到一个解析器错误,因为你告诉jQuery你正在处理JSON,但你的s erver不会返回JSON。使请求的类型与服务器返回的数据类型相匹配,并且不会出现此错误。 – jfriend00
@ jfriend00是的,我不想JSON返回jQuery的,我只是希望它的数据发送到控制器,仅此而已。所以,如果我返回查看(someobject),那么我应该通过什么?谢谢您的回答。 –
jQuery内置了此功能。您可以执行通用(非jQuery)Ajax调用,然后忽略返回结果。什么是服务器返回?你所要做的就是设置'options.dataType'来匹配服务器返回的数据类型,错误就会消失。 'dataType:“text”'可能会工作,因为jQuery不会像现在使用dataType:“json”那样处理数据。 – jfriend00