好吧,我已經到處尋找這個。我正在刪除一些變量聲明,因爲我可以確保我的XMLHttpRequest正在工作。Ajax只返回readyState == 4值
function submit_edit_form()
{
// id and title are already declared
var x = ajax_edit_form_save(id, 'title', title);
alert(x);
}
function ajax_edit_form_save(id, property, new_value)
{
if (window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
else
{
// screw IE5 & IE6
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.responseText != '')
{
return xmlhttp.responseText;
}
}
// myURL is already defined. I'm not troubleshooting this part, I know it's working
xmlhttp.open("GET", myURL, true);
xmlhttp.send();
}
所以,當我打電話submit_edit_form(),它調用ajax_edit_form_save(),我得到 '未定義' 警報。我知道問題是,ajax_edit_form_save()在readyState 1上返回undefined。我抓住我的頭,因爲我只有在readyState == 4時返回。4.我怎樣才能阻止返回值,以便x得到實際responseText的?
哥們我覺得我愛你。我完全沒有想到這一點。我要檢查一下,我會給你支票。 – 2010-08-06 05:51:47
好的,我完全可以接受並使用它。謝謝! – 2010-08-06 05:59:33
@Adam Tootle歡迎您! – naikus 2010-08-06 06:18:41