3

在不被调用的情况下回拨。

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中的方法响应的任务。

谢谢

4

3 回答 3

3

如果您使用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);
        }
    });
}
于 2013-05-15T11:32:26.570 回答
1

id在你的 Action 方法中需要一个int,但你在你的 JS 中传递它 a stringof 。'id'更改您的 JS 或您的操作方法以使类型匹配。

于 2013-05-15T11:22:59.200 回答
0

检查您的请求是否成功返回,ajax 速记函数仅在请求成功时调用回调(即状态码 200 和正确的数据类型,即 json)。尝试完整的 .ajax jquery 函数,看看幕后发生了什么。

.getJSON() 也是等价的

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

所以它可能会遇到错误:由于数据类型。

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

于 2013-05-15T11:28:55.030 回答