我正在研究ASP.net MVC 2.0應用程序。我正在使用Ajax表單。在那裏我有一個下拉和一個按鈕。Ajax的奇怪行爲
點擊按鈕後,如果Ajax請求成功,我想重新加載下拉菜單。
因此,我在Ajax窗體的回調函數內部調用了一個jQuery Ajax函數。
在這個jQuery的Ajax函數中,我正在編寫代碼來獲取新的數據和綁定以便下載,以便它將被重新加載新數據。
在這裏,每件事情都是第一次正常工作。但是,當我點擊下一次的按鈕時,Ajax jquery函數被調用,但它不會觸及控制器操作方法。
代碼:
這裏,是我的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您的評論。它真的是因爲瀏覽器緩存..它不是調用服務器..謝謝 –