2011-02-03 5 views
0

にファイルにアクセスするためにAJAXを使用すると、行く:ので、ここでは、同じサーバー上でHTMLやAJAXプログラミングの新しい

私は外部txtファイル(content.txt)からコンテンツを持つテーブルを埋めウェブサイトを作成しました。テキストファイルはWindows 2003 Webサーバー上にあり、C:\ Inetpub \ wwwrootフォルダにあります(http://servername:port/content.txtでアクセス可能です)。今、このコードの作品や細かいWebページのロード私はAからそれを実行した場合

<body id="body" onload="javascript:content('http://servername:port/content.txt')"> 

:私はHTMLのボディに

function content(file) 
{ 
    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) 
     { 
      populate(); 
     } 
    } 
    var right_now = new Date(); 
    xmlhttp.open("POST",file + "?" + right_now.getTime(),true); 
    xmlhttp.send(); 
} 

そして:私のウェブサイトのために私が持っている現在のAJAXコードはこれです同じネットワーク上のコンピュータ。しかし、サーバー上に置いて「ライブ」Webサイト(IISを使用)にして、ネットワーク上の別のコンピューターからWebサイトにアクセスしようとすると、xmlhttpを指す「アクセスが拒否されました」というエラーが表示されます。オープンライン。

今、AJAXは異なるドメインでは動作しませんが、確かにこの状況では同じドメインにあります。ドメインの私のアイデアは完全に間違っているかもしれません。うまくいけば皆さん初心者を助けることができます。乾杯。

答えて

0

ポートの問題のようです。この[似たような]問題をあなたが経験しているものにチェックしてください。 、ドメインとポート(デフォルト80または:xxは)同じ起源を持つために考慮すべき二つの文書、プロトコルの

(HTTP/HTTPS):持っている他のポストことを引用する

indenticalする。だから、違うポートに対してxhrを使うことはできません。

+0

よろしくお願いいたします。私はcontent.txtをウェブサイトのhtmlファイルと同じフォルダに入れました。そして、それらは現在ポート82にあります(ポート80は何かによって使用されています)。 xmlhttp.readyStateが4と等しくないかxmlhttp.statusが200と等しくない – NavMan

+0

最後にそれを得ました!私がしなければならなかったのは、xmlhttp.openパラメータをPOSTからGETに変更することでした。今すぐ完璧に動作します、歓声! – NavMan

+0

ああクールです。あなたがうまく働いてうれしい。申し訳ありませんが、POST/GET答えを得ることができませんでした!ええ – hellatan

関連する問題