2017-01-14 9 views
-1

私のコードは動作していないようです。つまり、サーバーとの通信です。 誰かが私が作ったミスの種類を教えてもらえますか?私は何かを監督しましたか?このコードで何が問題になっていますか? (AJAX)

P.S - new to AJAX。

<!DOCTYPE html> 
<html> 
<head> 
<script> 
function loadXMLDoc(){ 
var xmlhttp; 

if (window.XMLHttpRequest) { 
    xmlhttp=new XMLHttpRequest(); 
} 

else { 
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 

xmlhttp.onreadystatechange=function(){ 

if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
document.getElementById("mySection").innerHTML=xmlhttp.responseText; 
} 
} 

xmlhttp.open("GET","ajax_info.txt",true); 

xmlhttp.send(); 

} 
</script> 
</head> 

<body> 
<section id="mySection"> 
<h2>Let AJAX change this text</h2> 
</section> 
<button onclick="loadXMLDoc()" type="button">Change Content</button> 

</body> 
</html> 
+2

いくつかの基本的なデバッグを行います。ブラウザでデベロッパーツールを開きます。コンソールを見てください。それは何と言いますか?ネットワークタブを見てください。あなたはその要求を見ますか?あなたは応答を見ますか?彼らはあなたが期待しているものですか? 'console.log'ステートメントを追加してください。 'onreadystatechange'は呼び出されていますか? readyStateとstatusにはどんな値が得られますか? – Quentin

+0

これはうまく機能しているようです。 ** ajax_info.txt **は同じディレクトリにありますか?アップロードしてもよろしいですか?これをローカルで実行すると、コンソールでこのエラーが発生する可能性があります。 'XMLHttpRequestはfile:/// C:/Users/*******/Desktop/ajax_info.txtをロードできません。 Cross originリクエストは、http、データ、クロム、chrome-extension、https、chrome-extension-resourceのプロトコルスキームでのみサポートされています。 – NewToJS

答えて

-2

コードは完全に問題ありません。あなたが渡しているURLをxmlhttp.open( "GET"、 "ajax_info.txt"、true)にチェックしてください。。ほとんどの場合、渡すファイル名が正しくない可能性があります。ただ正しい名前を渡すことを確認し、チェックコードが正常に動作されているかどうかだけでhttps://api.github.com/users/octocatまたは任意のローカルに保存されたファイルの任意の他の公的にアクセス可能なAPIのURLまたは名前(と ajax_info.txt URLを置き換えるために

次回)。

「サーバーとの通信」:基本的にここではローカルファイル名を渡しているため、サーバーと通信できません。上記のGithub URLのように、実際のURLをサーバーに渡すようにします。

関連する問題