我是MVC编程新手。我正在开发一个简单的POC应用程序,用于显示/编辑数据库中的数据。
我有2个视图和2个控制器。在其中一个上,对MVC控制器动作方法的JQuery AJAX调用工作正常。但不是另一个(在这里,AJAX调用没有触发Action方法)。
任何人都可以在此之前遇到这种情况吗?
JQuery代码如下:
$('#ddlZones').change(function () {
var value = $('#ddlZones option:selected').val();
// alert(value); var status = $('#ddlStatus option:selected').val();
// alert(status); $('#lstResources').children().remove();
$('#lstBeds').children().remove();
$.ajax({ url: 'FillResources', type: 'POST',
data: JSON.stringify({ ZoneId: value }),
dataType: 'json', contentType: 'application/json',
success: function (result) {
for (var r in result) {
$('#lstResources').append('<option value="' + result[r].Value + '">' + result[r].Text + '</option>');
}
}
});
});
由于 Latha
答案 0 :(得分:0)
检查controller url
是否被调用,
同样在data parameter
中,您可以将其称为{ ZoneId: value }
,而不是JSON.stringify({ ZoneId: value })
get
,
如果您使用 PHP ,请使用$_POST
在服务器端controller
使用此参数
在console
中,同时检查json
您是否server side
来自$.ajax({ url: 'FillResources', type: 'POST',
data:{ ZoneId: value },
dataType: 'json', contentType: 'application/json',
success: function (result) {
for (var r in result) {
$('#lstResources').append('<option value="' + result[r].Value + '">' + result[r].Text + '</option>');
}
}
});
。
{{1}}
答案 1 :(得分:0)
请在浏览器中查看请求和响应。你可以在IE / Chrome / FF(Firebug)或小提琴手中使用内置的。如果这是ASP.NET MVC,它可能只是一个路由问题。
具体来说,查看您的请求网址是什么以及服务器的HTTP响应是什么。
在路由网址中指定控制器和操作始终是一个好习惯,以避免任何此类错误。
要检查的另一件事是,是否实际调用了更改功能?您可以在ajax请求之前放置console.log,以确保不是这种情况。