我有一个用MVC3编写的应用程序。我有一个页面,通过与ajax异步加载一个大图:
var graphRequest;
function ReloadGraph() {
if ($('#graph').length < 1) {
return;
var graphData;
// get the graph data
graphData = GetGraphData();
}
graphRequest = $.ajax({
cache: true,
type: 'POST',
data: { selectedReportID: selectedReportID, selectedUnit: unit, price: price },
url: "/Dashboard/GetGraphData",
async: true,
dataType: "json",
success: function (result) {
RenderGraph(result);
});
当页面加载时,图形看起来呈现,并且在成功函数中将呈现一个浮动图表。
我遇到的问题是,当用户登陆仪表板时,他们正在通过导航选择另一页(统计数据)。这会立即将用户引导到另一个页面。然后,如果我单击返回仪表板,图表将再次尝试渲染。但是,下次单击Stats链接时,在ajax完成之前页面将不会加载!
有没有人见过这个?如果我删除了ajax请求,那么系统工作正常,所以我认为ajax是问题所在。我进一步试图中止请求如下:
$('#nav a').live('click', function () {
console.log("aborting");
graphRequest.abort();
});
但没有优势。任何建议或方向都会很棒。
由于