答案 0 :(得分:2)
pastebin代码已经这样做了。我猜你实际面临的问题是因为你的ajax调用是异步,这意味着你正在进行ajax请求(异步),并立即尝试访问该值全局变量 - 但尚未确定。
解决方法是在onReadyStateChange
回调中执行ajax后代码。
function handleResponse(result_cont) {
// your result_cont processing code here
}
ajax(handleResponse);
function ajax(callback) {
var xmlHttp;
try { // Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
} catch (e) {
// Internet Explorer
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
return false;
}
}
}
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
if (xmlHttp.responseText != "") {
result_cont = xmlHttp.responseText
alert(result_cont);
// ############# here's the important change #############
// execute the provided callback
callback(result_cont);
}
}
}
xmlHttp.open("GET", "contentdetails.php?cid=1", true);
xmlHttp.send(null);
}