簡體   English   中英

$ .getJSON沒有調用回調函數

[英]$.getJSON is not calling call back function

回叫沒有被叫。

function GetTrainingResults(id,callback){
    $.getJSON("/dashboard/GetTrainingResults/", {'id':id}, callback);
}
GetTrainingResults('id',function(result){
    alert(result);
});

和背后的代碼是

 public ActionResult GetTrainingResults(int id)
    {
        string test = "You are there.";
        return Json(test, JsonRequestBehavior.AllowGet);
    }

或建議和另一種方式。 任務調用控制器方法並等待javascript中的方法響應。

謝謝

如果你使用jQuery.ajax ,你至少可以看到服務器返回的錯誤:

function getTrainingResults(id, callback) {
    $.ajax({
        url: "/dashboard/GetTrainingResults/",
        data: {id: id},
        success: function(data) {
            callback(data);
        },
        error: function(jqXHR, textStatus, errorThrown) {
            console.log(errorThrown);
            callback(errorThrown);
        }
    });
}

你的Action方法中的id接受一個int ,但你在JS中傳遞了一個'id' string 更改您的JS或您的操作方法,以便類型匹配。

檢查您的請求是否成功返回,如果請求成功,則ajax簡寫函數僅調用回調(即狀態代碼200和正確的數據類型,即json)。 嘗試完整的.ajax jquery函數,看看幕后發生了什么。

.getJSON()也是等價的

$.ajax({
 dataType: "json",
 url: url,
 data: data,
 success: success
});

所以它可能會遇到錯誤:由於數據類型。

來源http://api.jquery.com/jQuery.getJSON/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM