2017-02-03 12 views
0

私はPHPページを2つ読み込むことができます。インクルード()を使用してページに直接埋め込むことも、AJAXを使用してユーザーの要求に応じて最初のページを読み込む別のページに埋め込むこともできます。私の問題は、次のコード行にあります。Ajaxで読み込んだ後、htmlブロックでjavascriptを呼び出す

echo "<script>"; 
    echo "we_start_slide('" . $we_gallery['gallery_name'] . "', " . $we_gallery['display']->output() . ", " . $we_gallery['settings']['slide_time'] . ");"; 
    echo "we_slide_show_btns('" . $we_gallery['gallery_name'] . "');"; 
echo "</script>"; 

これは直接ロードで大きく機能します。しかし、AJAXは、あなたが知っているように、ロード時にjavascriptを実行しません。コードでは、PHPスクリプトでしか認識されない動的変数が必要なので、AJAX関数の関数を呼び出すことはできません。 JavaScriptの読み込み後にそのスクリプトタグの内容を実行するようにJavaScriptに指示する方法があるかどうか疑問に思っていましたか?

+1

あなたはおそらく、ajaxの 'success'部分で何かを行うべきです。もしあなたがちょうどエコーしているなら、あなたは必要ならば評価することができる文字列としてコマンドを返すでしょう。さもなければ、jsonがスマートになるのでデータを取り戻します。 –

答えて

0

ここで参考のために機能

$.ajax({ 

}).done(function() { 
    <?php 
    echo "<script>"; 
    echo "we_start_slide('" . $we_gallery['gallery_name'] . "', " . $we_gallery['display']->output() . ", " . $we_gallery['settings']['slide_time'] . ");"; 
    echo "we_slide_show_btns('" . $we_gallery['gallery_name'] . "');"; 
    echo "</script>"; 
    ?> 
}); 

を行ってAJAX内のjsスクリプトを入れjqueryのAJAX APIは、いくつかのオプションがありますhttp://api.jquery.com/jquery.ajax/

です。 counselledCount注:TXTは、ポスト変数であり、ここで$_POST["counselledCount"] であなたのAjaxリクエストへのアクセス、それを処理し、ページが別の例である上のよう:AJAXリクエストを処理してページ上で、代わりに行わAJAXを使用しての今

$.post("../includes/process-results.php", {counselledCount: txt, currentPageReset: "yes"}, function(result){ 
     showAjaxResult(result); 
}); 

そのリクエストを送信して、スクリプトをリクエストとともに送り返します。

$request = "<script>"; 
$request .= "we_start_slide('" . $we_gallery['gallery_name'] . "', " . $we_gallery['display']->output() . ", " . $we_gallery['settings']['slide_time'] . ");"; 
$request .= "we_slide_show_btns('" . $we_gallery['gallery_name'] . "');"; 
$request .= "</script>"; 
+0

ajaxはPHP変数にアクセスできません。 – Zaper127

+0

Ajaxがコードをロードします。元のAJAXがロードされても変数は存在しません。私はAjaxの実行後にそれを取得する必要があります。 – Zaper127

+0

ajaxリクエストをPHPファイルに送信しますか?そうであればセッションに入れ、コードでthebをつかんで、ajaxリクエストを処理してください。 –

0

だから答えは、私はそれはありがとうござい実行するためにeval()を使用するコールバック関数にスクリプトを引くことができ、スクリプトタグにIDを追加することによって、()

eval(document.getElementById('slide_start').innerHTML); 

のevalましたA.私に正しい道を向けるためのラウ。

関連する問題