2017-03-18 6 views
0

私はXMLHttpRequestから要素のhtmlを変更しようとしたときに起きた問題を解決しようとしていました。element.innerHTML = 'text'でhtmlを変更すると動作しません

xhr.open('GET', url); 
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); 
xhr.onload = function() { 
    if (xhr.readyState == 4 && xhr.status == 200) { 
    console.log(document.getElementById('notifications-navbar').innerHTML); 
    document.getElementById('notifications-navbar').innerHTML = xhr.responseText; 
    console.log(xhr.responseText); 
    console.log(document.getElementById('notifications-navbar').innerHTML); 
    } else { 
    console.log('error'); 
    } 
}; 

xhr.send(); 

コンソールログの出力があった。 pastebin

そうにconsole.logに我々はinnerHTMLプロパティへの変更が行われた見ることができます、しかし、私が見て何も変化はありませんChromeを介した要素が検査され、ブラウザにも変更はありません。私はロードされていた他のすべてのJSスクリプトを削除しようとしましたが、XHLHttpRequestの外側でinnerHTMLを簡単に変更するだけでしたが、それはあまり役に立ちませんでした。私が本当に幸せになるのを助けてくれたらどうか。

+0

あなたは 'notifications-navbar'が何かによって変更されていないと確信していますか? – adeneo

+0

はい、少なくとも私はそれを変更する可能性のある他のJSスクリプトについて知りませんし、他のすべてのJSスクリプトを無効にしようとしましたが、それでも動作しませんでした。 –

答えて

0

あなたのEndPoint URLはわかりませんが、私はこれをあなたのために書いており、うまくいきます。これがあなたを助けることを願っています!

HTML

<div id = "notifications-navbar"></div> 

Javascriptを

var xhr; 

    if(window.XMLHttpRequest){ 
     xhr = new XMLHttpRequest(); 
    }else{ 
     xhr = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    var url = "http://jsonplaceholder.typicode.com/posts"; 
    xhr.open('GET', url, true); 
    xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); 
    xhr.onload = function() { 
     if (xhr.readyState == 4 && xhr.status == 200) { 
      console.log(document.getElementById('notifications-navbar').innerHTML); 
      document.getElementById('notifications-navbar').innerHTML = xhr.responseText; 
      console.log(xhr.responseText); 
      console.log(document.getElementById('notifications-navbar').innerHTML); 
     } else { 
      console.log('error'); 
     } 
    }; 

    xhr.send(); 
+0

ありがとう、[JSFiddle](https://jsfiddle.net/dba9uaen/)でうまくいきます。しかし、これは私のものとほとんど同じですが、私のコードは同じであっても正しく動作しません。うまくいけば、 'notifications-navbar'要素ではうまくいきませんが、body要素でうまく動作します。私も自分のソースコードを共有しようとするべきですか? –

+0

@ J.Arbetはいあなたのソースコードを共有 – HenryDev

+0

私の間違いを見つけましたが、とにかくあなたの助けに感謝しています:) –

0

さて、申し訳ありませんみんな、私はHTMLでIDの通知、ナビゲーションバーだけ最初の2つの要素を持っていた、私のミスを見つけました1つは変更されました。とにかく助けてくれてありがとう。

関連する問題