2012-05-10 4 views
1

外で働く:jQueryのコード文句を言わないこんにちは、私はこのコードを持って、私は少しのスクリプトについて混乱していないworking.Hereが私の状況ではNetbeans

<script src="jquery.js"></script> 
<script> 
    $(document).ready(function(){ 

     $('a#Press_one').click(function(event){ 
      event.preventDefault(); 
      $('div#main_left').load('1.html'); 

     }) 

    }); 
</script> 
</head> 
<body> 
     <div id="main_left"></div> 
     <a href="#" id="Press_one">Citeste mai mult...</a> 
</body> 
</html> 

私はそれを実行したとき、私は、NetBeans IDEを使用して、これを書かとしていますそれはうまくいきます。私はindex.htmlという名前でファイルを保存し、ファイルが置かれているフォルダに行きました。私はリンクをダブルクリックしましたが、奇妙なことは動作しません。 NetBeansで動作します。何が間違っていますか?

+1

は定義「は動作しません。」 '1.html'が呼び出されていますか?コードには「1.html」は存在すると思われる場所に存在しますか?ローカルに開いたファイル(Netbeansが内部的に行うと思うウェブサービスされたリソースとは対照的に)からAJAX呼び出しを実行すると動作しない可能性があります。 – David

+0

私はこれをnetbeansから起動するとfirefoxで起動し、runs.Itは1.htmlファイルを読み込み、すべて動作します。私がフォルダに移動してindex.htmlを開いて、それをクリックしたときとまったく同じように考えると、 – user1146440

+0

あなたはその質問に答えました。しかし、NetBeansの外で実行しているときにJavaScriptコードをデバッグするとどうなりますか?それはリソースへのAJAX呼び出しを行いますか?リソースとは何ですか?そのリソースは存在しますか?レスポンスは何ですか?私は間違いなく、Webサーバーではなくファイルシステムで作業しているという事実に悩まされていると思います。 – David

答えて

0

ちょうどいいですが、私はjquery.jsファイルをhtmlファイルの新しい場所にコピーしていないと確信しています。

+0

私はnetbeansプロジェクトと同じ場所にファイル形式を実行していますが、jQueryファイルはそこにあります。 – user1146440

-3

あなたは 試みは、以下のようなスクリプトタグにタイプ=「テキスト/ JavaScriptを」追加...ブラウザによって解析されたスクリプトタグを持っている必要があります:

<script type="text/javascript">/*theFunction()*/</script>

とのdiv#がありますmain_leftで? 、私はdiv要素でローカルにこれを試してみました http://jsfiddle.net/sVaHa/

+1

型なしでも動作するでしょうが、型が良くなりました。 – Huangism

0

まあ、それは負荷()

を読んだ後、なぜこの問題のコードは動作しません非常に明白だ。しかし、あなたは、HTML でのdiv #main_leftが欠落しています

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script> 
<script> 
    $(document).ready(function(){ 

     $('a#Press_one').click(function(event){ 
      event.preventDefault(); 
      $('div#main_left').load('1.html'); 
     }) 
    }); 
</script> 
</head> 
    <body> 
     <div id="main_left"></div> 
     <a href="#" id="Press_one">Citeste mai mult...</a> 
    </body> 
</html> 

それはあなたが必要な場合がありますすべてのファイルを取得するには、コンテンツ配信ネットワークやCDNを使用することをお勧めします、多くのJavaScriptライブラリがあります、それは

+0

本当に私はstackoverflowの質問に入れて忘れていましたが、 – user1146440

+1

ええと私は地元でこのコードをテストし、完璧に動作します。 1.htmlにはサーバーを実行していないコンテンツがありますか?あなたは1のサンプルコンテンツを投稿できますか? – Huangism

0

はこれを試してみてください正常に動作しますGoogleやMicrosoftのCDNにはない他のタイプのライブラリがありますが、jQueryはほぼすべてのCDNにあります。

jQueryがロードされていない場合に、window.$ == undefinedwindow.jQuery == undefinedがtrueになると、実際にjsファイルが取得されているかどうか、ブラウザのツールでJavaScriptエラーを確認してください。 $jQueryの省略形です。

0

ChromeまたはFirefoxを使用していますか? Chromeの場合は、jQueryが見つからないと問題はありません。私はこれを実行すると、私はJavaScriptコンソールに次のエラーが表示されます。

Origin null is not allowed by Access-Control-Allow-Origin.

これは基本的にloadが行うXMLHttpRequestことを阻止するブラウザのセキュリティ機能です。これは、ローカルファイルからajax-ishを実行しようとするときにはかなり一般的です。ファイルサーバー上で提供する場合は問題ありませんが、Chromeはローカルファイルからこれを実行しないため、スクリプトのセキュリティ上の問題を防ぐことができません。

Firefoxでこれを実行すると動作します。 Chromeは、ローカルファイルシステムからスクリプトを読み込むためのセキュリティ制限が厳しくなっています。

それには良い議論は、同様に、このスタックオーバーフローの問題であり:Origin null is not allowed by Access-Control-Allow-Origin

関連する問題