我有以下AJAX請求函數,它工作正常。成功後返回1 else 2.Java腳本函數不能從Ajax請求返回值
現在我想根據這個返回值執行一些操作,如下所示,但它不工作..它總是返回「undefined」...
我預計return_code
應根據下面的代碼
<script>
var return_code=add_to_cart_ajax(200);
alert(return_code);
</script>
returns "undefined"
AJAX請求返回要麼1 or 2
:
<script>
//Ajax to send request to add
function add_to_cart_ajax(id)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
alert(xmlhttp.responseText); // returns 1
if (xmlhttp.responseText==1)
{
return 1;
}
else
{
return 2;
}
}
}
xmlhttp.open("GET","add.php?id="+id,true);
xmlhttp.send();
}//end of the function..
</script>
改變返回到一個ALTER(1)/警報(2) –
@ManuelRicharz:我已經說了,警報(xmlhttp.responseText) ; //返回1 – logan
很好。阿賈克斯是一個asycn任務。如果你編寫了一個腳本代碼並期望從這個方法返回值,它將不起作用。 –