2015-11-13 26 views
1

我有一个在页面加载时动态创建URL的网页。第一次点击这些链接时,他们会调用ajax查询来加载页面数据,并且它完美地工作。但是,第二次查询未执行且数据与之前的加载保持不变。AJAX仅在第一页上运行加载

这里是HTML代码activitylog.aspx其中的URL项添加:

<ul class="ver-inline-menu tabbable margin-bottom-10 incidentlist"></ul> 

这里是jQuery代码在activitylog.aspx一个在启动时运行:

$(document).ready(function() { 

    // Get Parameter Values 
    var paramShiftId = getURLParameter('shift_id'); 
    var paramIncidentId = getURLParameter('incident_id'); 

    // Run Data Handler Query 
    $.ajax({ 
     url: "queries/dataHandler_getShiftInfo.ashx", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     data: { shift_id: paramShiftId, incident_id: paramIncidentId }, 
     responseType: "json", 
     success: OnViewComplete, 
     error: OnViewFail 
    }); 
    return false; 

    function OnViewComplete(result) { 

     //Cycle Through JSON Rows 
     $.each(result.aaData, function (i, row) { 
      $(".incidentlist").append("<li><a href=\"activitylog.aspx?shift_id=" + row.SHIFT_ID + "&incident_id=" + row.INCIDENT_ID + "\">" + row.INC_NUMBER + " </a></li>"); 
     } 
    } 


}); 

如何创建每次都会加载刷新页面的动态URL?

+1

“第二次不执行查询” - 查询什么? – Igor

+0

点击事件处理程序在哪里? – Chris

+0

什么是'返回false;'在'$(document).ready(function(){'? – Igor

回答

1

Ajax是一些关于no need to reload a page ...

$(function(){ 
    var paramShiftId = getURLParameter('shift_id'); 
    var paramIncidentId = getURLParameter('incident_id'); 
    loadData(paramShiftId, paramIncidentId); 
})(); 


function loadData(paramShiftId, paramIncidentId) { 

    // Run Data Handler Query 
    $.ajax({ 
     url: "queries/dataHandler_getShiftInfo.ashx", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     data: { shift_id: paramShiftId, incident_id: paramIncidentId}, 
     responseType: "json", 
     success: OnViewComplete, 
     error: OnViewFail 
     }); 
} 

function OnViewComplete(result) { 
    $.each(result.aaData, function (i, row) { 
     $(".incidentlist").append("<li><a href=\"javascript:loadData("+row.SHIFT_ID+","+row.INCIDENT_ID+")\">" + row.INC_NUMBER + " </a></li>"); 
    }); 
} 
function OnViewFail(err){console.error(err);} 
+0

谢谢你的帮助。这绝对有帮助。我还在ajax选项中的'cache:false'中添加了以确保每次刷新查询。 – rak11