以下是我尝试使用带有ajx调用Action的ASP.NET MVC的代码片段。
但是行动不是在呼唤。请帮帮我?
$.ajax({
type: "POST",
url: "/Sample/TestSubmit",
data: $.toJSON(result),
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function(msg) {
var succeed = msg == 'OK';
if (!succeed) {
alert(msg);
} else {
alert('Saved');
}
},
error: function(){
alert('failed to save');
}
});
答案 0 :(得分:0)
您确定要加载jquery库吗?
您是在全局功能启动中使用它还是作为事件的一部分启动?
$(document).ready(function(){
$.ajax({
type: "POST",
url: "/Sample/TestSubmit",
data: $.toJSON(result),
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function(msg) {
var succeed = msg == 'OK';
if (!succeed) {
alert(msg);
} else {
alert('Saved');
}
},
error: function(){
alert('failed to save');
}
});
});
答案 1 :(得分:0)
function save(){ function TestData(代码,文本){ this.Qcode =代码; this.Qtext = text; } function TestDataArray(testArray){ this.TestArray = testArray; } var testArr = new Array();
$('#questions tr')。each(function(row,rowItem){
testArr [testArr.length] = new TestData('Qcode',$(rowItem.cells [1])。text());
});
var result = new TestDataArray(testArr);
$。AJAX({
type: "POST",
url: "/Sample/TestSubmit",
data: ""+$.toJSON(result),
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function(msg) {
var succeed = msg == 'OK';
if (!succeed) {
alert(msg);
} else {
alert('Saved');
}
},
error: function(){
alert('failed to save');
}
});
}
。 我的问题是控制器没有调用我的行动TestSubmit。
这是因为我必须将jquery.json-2.2.js文件添加到我的aspx页面以获得toJSON()工作。现在控制器正在调用动作。
答案 2 :(得分:0)
我们这里真的没有太多信息。您所显示的代码部分没有立即语法错误,因此除非您向我们提供更多信息,否则我们无需指出。
我敢打赌,错误是以下之一,但是从我们得到的错误来看,我无法判断它们的相对合理性:
save
永远不会被执行。可能是错误的选择器绑定一个事件,或者在DOM中提供了什么绑定之前执行的绑定?response
的代码有一些错误,导致执行save
函数暂停response
$.toJSON(response)
未定义