php腳本正在返回一個值,第1條警告起作用。Javascript Returing來自httprequest的價值
我無法引用httprequest在第二次提醒時返回的值。理想情況下,我會調用函數get_captcha() - 它會返回值 - 它只是我不知道如何做到這一點。
我意識到在全球範圍內設置變量可能不是最好的方法來做到這一點,但它是我能想到的唯一的事情 - 我打開替代品。
<script type="text/javascript">
var url = "captcha_get_code.php"; // The server-side script
var cap;
function ValidateForm() {
get_captcha()
alert(cap); //undefined
}
function get_captcha() {
http.open("GET", url, true);
http.onreadystatechange = handleHttpResponse;
http.send(null);
}
function handleHttpResponse() {
if (http.readyState == 4) {
if (http.status==200) {
//return http.responseText;
cap=http.responseText;
alert(cap); //this one works
}
}
}
function getHTTPObject() {
var xmlhttp;
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
}
else if (window.ActiveXObject){
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
if (!xmlhttp){
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
}
return xmlhttp;
}
var http = getHTTPObject(); // We create the HTTP Object
</script>
我建議你爲這些http調用使用jQuery - 它會爲你節省很多的努力。 – pimvdb 2011-03-14 18:53:03