ホームページ >バックエンド開発 >PHPチュートリアル >AJAXについて質問があります
AJAX について質問する
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> function nums(){ var n = document.natform.num.value; var url="index.php?c=nat&a=natid&id="+n+""; if(n == ''){ document.getElementById('num').style.display='block'; document.getElementById('num').innerHTML='编号不能为空'; document.getElementById('num').style.color='red'; return false; }else{ xmlHttpRequest = createXmlHttpRequest(); xmlHttpRequest.onreadystatechange = handle; xmlHttpRequest.open("GET",url,true); xmlHttpRequest.send(null); //我的问题就是 在这个else里怎么接收到 handle()的返回值(true false) } } function handle(){ if(xmlHttpRequest.readyState == 4){ var re = xmlHttpRequest.responseText; if(re){ document.getElementById('num').style.display='block'; document.getElementById('num').innerHTML='编号已存在'; document.getElementById('num').style.color='red'; return false; }else{ document.getElementById('num').style.display='block'; document.getElementById('num').innerHTML='可以使用'; document.getElementById('num').style.color='green'; return true; } } }
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> function saves(){ if(nums()){ document.natform.action="index.php?c=nat&a=addnatpost"; document.natform.submit(); } }
var re = xmlHttpRequest.responseText; //ここでの re 値は何ですか?警戒して見てください。 //値がない場合は、バックエンドの受信と処理に問題があることを意味します。 <br><font color="#e78608">------解決策------------------</font><br> Ajax は非同期通信メソッドであるため、num() から正しい戻り値を取得することはできません<br>必要な送信アクションはハンドル <div class="clear"> で完了する必要があります</div>