在閱讀了很多帖子和jQuery文檔之後,我的第一個問題是...新的jQuery ...如何在jQuery Ajax調用之後檢索XHR參數?
在我的項目中,我有一個包含jQuery Ajax調用的多個過濾器的列,以減少產品數量顯示在main.php中。工作正常,但在例如對響應文件main.php中的結果進行排序或單擊分頁之後,我需要能夠在filter-column中使用$ _GET參數在filter-column中執行新的過濾器操作最後的Ajax調用main.php ...這些參數在Firebug選項卡中顯示正常Net - 選項卡XHR - 選項卡參數....
但我找不到方法來檢索參數並將它們放入我的啓動Ajax呼叫的功能:
function updateStatus(content_show, data) {
jQuery.ajax({
method: "get",
url: content_show,
data: data,
beforeSend: function(){
jQuery("#target").html('<p><img src="images/ajax_load.gif" /></p>');
}, //show loading just when link is clicked
success: function(html) {
// update status element
jQuery('#target').show("slow");
jQuery('#target').html(html);
}
});
}
在我的過濾器文件,我有一個函數來檢查並取消選中的複選框,並啓動Ajax調用:
function check_them(obj,URL) {
var getstr = "";
var man_id_selected ="";
for (i=0; i<obj.getElementsByTagName("input").length; i++) {
if (obj.getElementsByTagName("input")[i].type == "checkbox") {
if (obj.getElementsByTagName("input")[i].checked) {
getstr = "" + obj.getElementsByTagName("input")[i].name + "=";
man_id_selected += obj.getElementsByTagName("input")[i].value + "_";
} else {
<!-- getstr += obj.getElementsByTagName("input")[i].name + "=&";-->
}
}
}
getUrlStatus('main.php', function(status) { // try to find $_GET parameters of main.php
alert(status);
});
updateStatus(URL, getstr+man_id_selected);
}
在這裏,我也試圖找到與XHR參數:
function getUrlStatus(url, callback) {
jQuery.ajax({
url: url,
complete: function(xhr) {
callback(xhr.status);
}
});
}
但後者偏離過程只會返回狀態200,而不是參數....
我會非常感謝任何幫助和意見!
阿爾揚
編輯
經過閱讀和測試的日子裏,我幾乎解決了這個問題,通過改變我原來的PHP代碼和功能函數updateStatus的正確格式有回調:
function updateStatus(url, base_url, new_parameters, old_parameters) {
jQuery.ajax({
method: 'get',
url: base_url,
data: new_parameters,
beforeSend: function(){
jQuery("#target").html('<p><img src="images/ajax_load.gif" /></p>');
}, //show loading just when link is clicked
complete: function(){
jQuery("#target").hide("fast");
}, //stop showing loading when the process is complete
success: function(html) {
// update status element
jQuery('#target').show("slow");
jQuery('#target').html(html);
callback(this.url)
}
});
}
...現在我只有輕微的問題,並在PHP中調用新url到$ url。我將詳細闡述這一點,並可能發佈一個新的話題。
Tnx無論如何!
我有困難去cyphering什麼東西被要求在這裏?你顯然有某種問題,但看起來你不能很好地解釋問題是什麼或已經解決了問題+關閉 – 2011-01-20 17:25:18
我能理解你錯過了這個問題,因爲在寫作的時候我認爲我正在做一些事情Ajax調用錯誤...最後,我發現問題出在我的PHP代碼中,用於觸發ajax調用...我認爲這是脫離主題來解釋我對PHP代碼的調整,但正如您在重新格式化中看到的函數updateStatus。我已經分割完整的網址(其中包含所有$ _GET參數)。分開傳遞base_url和參數。希望能夠澄清迄今爲止的解決方案!謝謝! – Arjan 2011-01-20 17:40:48