0

XMLHttpRequests を使用し、ページをまったくリロードしないページがあります。ユーザーがログインすると、グラフがロードされます。これがメインページです: http://pastebin.com/h55Vzuvy チャートとしてロードするものは次のとおりです: http://pastebin.com/zDZr3bb6

chart.php をロードする関数が呼び出されるコードはここには表示されていませんが、正常に動作しており、メイン ページのヘッダーで xmlhttpGet 関数を呼び出すだけです。

ロードするページは Javascript を評価します。アラートを設定するとポップアップが表示されますが、グラフはロードされません。理由はありますか?

また、クリックしてチャートファイルをロードすると、Chrome JS Debugger はこれを表示します。div 名が変数に渡されていることを確認するためにトリプル チェックを行い、エラーはチャート ページの読み込み時にのみ発生します。

Uncaught TypeError: Cannot set property 'innerHTML' of null
sethtml
callBackFunction
xmlHttpReq.onreadystatechange
4

1 に答える 1

0

一見良さそうに見えますが、この行は次のとおりです。

document.getElementById(div).innerHTML=content;

問題を抱えている場所のようです。ほとんどの場合、'div' (この時点で 'auth_status' である必要がある ID) が正しく設定されていないか、DOM が変更されて auth_status div が破壊された可能性があります。

以下でテストすることをお勧めします。

console.log("id: " + div);

その直前の行(つまり、66行目)。予想どおり ID として「auth_status」が表示される場合は、firebug/chrome js コンソールに次のように入力してみます。

document.getElementById(div)

まだDOMにあることを確認します。幸運を!

于 2012-05-21T04:14:03.690 に答える