[英]A quick question on data returned by jquery.ajax() call (EDITED)
編輯:最初的問題是由於其他地方的愚蠢語法錯誤,我已修復。 我有一個新問題,如下所述
我有以下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可以通過向請求中添加一個隨機的querystring變量為您解決這個問題。 只需將您的AJAX調用更改為此:
$.ajax({
type: 'GET',
url: servicesUrl + "/" + ID + "/tasks",
cache: false,
dataType: "xml",
success : createTaskListTable
});
這將自動添加隨機查詢字符串,從而防止瀏覽器緩存請求。
嘗試像這樣定義回調內聯:
success: function createTaskListTable(data, textStatus, xhr) {
console.dir(data, textStatus, xhr);
}
如果確實將數據返回為null,那么您可能會從其他字段中獲得一些見識,尤其是xhr。
請注意,錯誤回調使用(xhr,textStatus,errorThrown)進行調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.