【问题标题】:AJAX Only Runs On First Page LoadAJAX 仅在第一页加载时运行
【发布时间】:2015-11-14 02:00:37
【问题描述】:

我有一个在页面加载时动态创建 URL 的网页。第一次单击这些链接时,它们会调用 ajax 查询来加载页面数据,并且效果很好。但是,第二次没有执行查询,数据与上次加载时保持一致。

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

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

这是 activitylog.aspx 中在启动时运行的 jQuery 代码:

$(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?

【问题讨论】:

标签: javascript jquery ajax


【解决方案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);} 

【讨论】:

  • 感谢您的帮助。这绝对有帮助。我还在 ajax 选项中添加了cache: false,以确保每次都刷新查询。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-23
  • 2011-03-30
  • 1970-01-01
相关资源
最近更新 更多