我正在 MVC4 中开发单页应用程序。我有一个下拉框。当我选择该下拉框时,onchange 事件将触发调用一些 JavaScript。
我需要 JavaScript 来调用控制器并让控制器返回一些数据的 JSON 结果(我知道如何获取数据)。谁能帮我制定一个为此制定的基本框架?
我正在 MVC4 中开发单页应用程序。我有一个下拉框。当我选择该下拉框时,onchange 事件将触发调用一些 JavaScript。
我需要 JavaScript 来调用控制器并让控制器返回一些数据的 JSON 结果(我知道如何获取数据)。谁能帮我制定一个为此制定的基本框架?
将 onchange javascript 事件连接到您的选择元素
在 onchange 的事件函数中,让 ajax 将值从选择元素发送到控制器。
在控制器/动作方法中,根据值做你的工作,然后准备 json 数据(可能是序列化?),然后返回它。
在 ajax 调用的成功部分,解析或以其他方式使用返回的 json 数据。
在您的控制器构造函数中:
define('_IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest');
在加载视图之前检查_IS_AJAX
变量:
if(_IS_AJAX) {
//echo json_encode(data you want to return);
} else {
// load view normally
}
在你看来(使用 jQuery)
$('#dropdownid').change(function() {
$.ajax({
url: requesturl, //your controller URL
dataType: 'json',
success: function(response) {
//Do stuff with data
}
},
error: function(request, error, errormessage) {
$("#error").html(error + '\n' + errormessage);
}
});
});