Я работаю над ASP.net MVC 2.0 Application. Я использую форму Ajax. У меня есть выпадающий список и кнопка.Странное поведение с Ajax
После нажатия кнопки, я хотел перезагрузить выпадающий список, если запрос Ajax является успешным.
Итак, я вызываю функцию jquery Ajax внутри функции обратного вызова формы Ajax.
В этой функции jquery Ajax я пишу код, чтобы получить новые данные и привязку, чтобы они упали, чтобы они перезагружались новыми данными.
Здесь все отлично работает в первый раз. Но, когда я нажимаю кнопку в следующий раз, вызывается функция jquery Ajax, но она не ударяет по методу действия contoller.
Код:
Здесь мои JQuery функции:
<script type="text/javascript">
function GetData() {
$.getJSON("/Home/GetUsers", null, function (data) {
var selectList = $("#ddlUsers");
selectList.empty();
alert("Inside Get Json method of jquery Ajax");
var defaultoption = $('<option>').text("--Select--").val("");
selectList.append(defaultoption);
$.each(data, function (index, optionData) {
var option = $('<option>').text(optionData.Text).val(optionData.Value);
alert(option);
selectList.append(option);
});
});
}
function Callback() {
GetData();
alert("Sucessfully done");
}
function Failed() {
alert("Sorry, an error occured while processing your request");
}
Методы внутри регулятора,:
[HttpGet]
public JsonResult GetUsers() ----> Method that is called from GetData() Ajax call
{
var data = GetUsersList();
return Json(data, JsonRequestBehavior.AllowGet);
}
public SelectList GetUsersList()
{
Db Fectch
return data;
}
Я не могу понять, почему было указано выше метод не вызывается для второго время показывается GetData().
Пожалуйста, помогите ..
Может ли браузер кэшировать вызов ajax и не вызывать его с сервера? –
@whoshotjr .. Обязательно +1 для вашего комментария. Это истинный сигнал кеша браузера .. он не вызывает сервер. Спасибо –