您应该通过 jquery 对控制器上启用 json 的方法进行 ajax 调用,该方法会发回数据。
使用该数据,您可以通过 $("#somediv").html(ajax_result) 等方法更新 div 元素的内容
这是一个真实的示例:
var linkHtml = $("#searchNumber").html();
$("#message").empty();
var aurl = "/Prospect/SearchNumberAuth?number=" + $("#MSISDN").val() ;
$.ajax({
dataType: 'json',
type: "GET",
url: aurl,
async: false,
contentType: "application/json; charset=utf-8",
beforeSend: function() {
$("#holdNumber").fadeOut("slow");
$("#searchNumber").empty().html("<image src='../../Content/images/jquery-ui/load-indicator.gif'/>");
},
success: function(response) {
$("#message").fadeIn(1500).html(function() {
if (response[0] == "Exist") {
$("#holdNumber").fadeIn("slow");
$("#MSISDN").attr("readonly", "readonly");
$("#searchNumber").fadeOut("slow");
return existMsg;
} else if (response[0] == "Sold") {
$("#searchNumber").empty().html(linkHtml).fadeIn("slow");
return soldMsg;
} else if (response[0] == "Hold") {
$("#searchNumber").empty().html(linkHtml).fadeIn("slow");
return holdMsg;
} else
$("#searchNumber").empty().html(linkHtml).fadeIn("slow");
return notExistsMsg;
});
},
error: function(jqXHR, textStatus, errorThrown) {
$("#searchNumber").empty().html(linkHtml).fadeIn("slow");
},
complete: function() {
}
});
这是控制器类中的服务器端代码,可以轻松移植到 Rails:
public JsonResult SearchNumberAuth(long number)
{
return this._searchNumber(number);
}
在_searchNumebr 方法中,我将返回JsonResult。
您可以在website 中看到更多详细信息,虽然它是波斯语,但您可以在 ProspectView.js 中看到 FireBug 的 js 代码,并在第二个选项卡中看到结果。