2015-11-13 27 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