2011-01-26 12 views
-2

これは愚かな質問のように思えるでしょう。私は、phpファイルを介してmySQLデータベースから生成された動的コンテンツを持つというかなり簡単な作業を達成しようとしています。これはうまくいきました。残念ながら、AJAXの機能をいくつか追加して、選択されているものに基づいて別の選択ボックスを作成しようとしましたが、機能しません。今私はあなたの思考が私にコードを見せてもらうことを確信していますが、その質問には必要ではありません。今、私はページのPHP部分を削除し、何もせずに正式なHTMLファイルを作成する前にAJAX呼び出しが正常に動作するphpで、ここでの問題は、私は何もダイナミックデータベースから生成されていないので、このアプローチはない良い。だからここに質問があります、ファイルがPHP経由でレンダリングされている場合、AJAXは動作しませんか?事前にお手伝いいただきありがとうございます。PHP AJAX noob question

+0

facetiousnessのための私を許しますが、私はコードを見てみましょう。ファイルが動的にレンダリングされるため、AJAXが機能しない理由はまったくありません。 – lonesomeday

+0

"質問には必要ありません。なぜそれが必要ではないと思うのか聞いてもいいですか? – pt2ph8

答えて

0

今私はあなたの思考は私が コードを見てみましょう確信しているが、その 質問には必要ありません。

あなたが間違っている場所です。それはより良い答えを提供するのに役立ちます。

これは、ファイルがPHPでレンダリングされる場合、AJAXは ではありませんか?

これはサーバー側の言語に関係なく機能します。

少し例:

<?php 
header('Content-Type:text/html; charset=UTF-8'); 

$_GET = filter_input_array(INPUT_GET, FILTER_SANITIZE_STRING); 

if (isset($_GET['min']) && isset($_GET['max'])) { 
    echo rand($_GET['min'],$_GET['max']); 
    exit(); 
} 
?> 
<html> 
    <body> 
     <p id="randomtext"></p> 
     Low:<br /><input type="text" id="min" value="0" /><br /> 
     High:<br /><input type="text" id="max" value="100" /><br /> 
     <button id="randomgenerator">Generate random number</button> 
     <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function() { 
       // Handler for .ready() called. 
       $("#randomgenerator").click(function() { 
        $.get("./", { "min": $("#min").val(), "max": $("#max").val() }, function(data) { 
         $("#randomtext").html(data); 
        }); 
       }); 
      }); 
     </script> 
    </body> 
</html> 
+0

ありがとうございました、私は仕事に夢中になっていましたが、約2時間後に私の机の上に頭を叩いて、ついにそれが道を譲りました。私は私のスキルに取り組む必要があると思う。再度、感謝します! –

+0

ようこそ。幸運:P – Alfred

0

JavaScriptの構文が正しい場合、Ajaxが機能します。私が知る限り、ページがレンダリングされる言語(html/php/asp/cf/etc。)とは完全に独立しています。

0

AJAXはJavascriptで行われます。あなたのページから動的コンテンツを削除してAJAXを動作させた場合、PHPが何を吐き出しているかを見て、それがjavascriptを破っているのを見てください。

生成された(またはロードされた)HTMLがサーバーからワイヤに出ると、ブラウザが実際のPHPスクリプトか静的なHTMLファイルかを判断することはできません。

0

AJAX呼び出しで組み込まれたJSを実行しようとすると、動作しません。コールバックとして関数を作成し、AJAXの成功のためにコールバックを実行する必要があります。私はあなたがそれを見てみましょう... Ajax呼び出しが戻っているものを追跡するためにFirebugのを使用することをお勧めし

0

http://getfirebug.com/

彼らは正しいですが、ところで、あなたのPHPスクリプトを見て、ブレーキ何かはおそらくありそこにアップします。