javascript - 关于 jquery.ajax() 调用返回的数据的快速问题(已编辑)

标签 javascript jquery ajax

编辑: 最初的问题是由于其他地方出现了愚蠢的语法错误,我已将其修复。不过我有一个新问题,如下所述

我有以下 jquery.ajax 调用:

$.ajax({
    type: 'GET',
    url: servicesUrl + "/" + ID + "/tasks",
    dataType: "xml",
    success : createTaskListTable
});

createTaskListTable 函数定义为

function createTaskListTable(taskListXml) {
    $(taskListXml).find("Task").each(function(){  
        alert("Found task")     
    }); // each task
}

问题是:这不起作用,我收到一条错误消息,提示 taskListXml 未定义。 JQuery 文档指出成功函数会传递三个参数,第一个参数是数据。

如何使用我自己选择的变量名将 .ajax() 返回的数据传递给我的函数。

我现在的问题是我正在从之前的 ajax 调用中获取 XML!这怎么可能?之前的函数定义为 function convertServiceXmlDataToTable(xml),因此它们不使用相同的变量名。

一头雾水。这是一些缓存问题吗?如果是这样,我怎样才能清除浏览器缓存以摆脱早期的 XML?

谢谢!

最佳答案

请看我的评论。如果您使用的是 IE,GET AJAX 请求会被缓存。 jQuery 可以通过向请求添加一个随机查询字符串变量来为您解决这个问题。只需将您的 AJAX 调用更改为:

$.ajax({
    type: 'GET',
    url: servicesUrl + "/" + ID + "/tasks",
    cache: false,
    dataType: "xml",
    success : createTaskListTable
});

这将自动添加随机查询字符串,从而防止浏览器缓存请求。

关于javascript - 关于 jquery.ajax() 调用返回的数据的快速问题(已编辑),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2722541/

相关文章:

javascript - 如何使用canvas在javascript上制作一个游戏,使 Sprite 看起来在跳跃

javascript - 如何像 vfs_fonts.js 一样将字体文件 ttf 转换为字符串数据?

c# - 具有数字成员的 Json 对象未绑定(bind)到 MVC Controller 中的 Object.IntegerProperty

javascript - 在不重新加载的情况下将表单提交到同一页面

javascript - 将多个 const = 组合在一个数组中?

javascript - 无法访问对象上的 jQuery 事件

javascript - 如何在selenium javascript中循环遍历具有特定类名的元素

javascript - 从 DOM 中移除的元素取消绑定(bind)事件

javascript - 第一次单击后禁用提交按钮

jquery - 以ajax方式在rails 3中提交表单(使用jQuery)