2016-10-27 11 views
0

私はajaxでphpファイルを実行しようとしていて、phpファイルからテキストを自分のコンテナに出力しようとしています。私は複数の例を調べましたが、私のListTranslations.phpファイルから何も得られません。起こることになっているもののajaxを使用してPHPファイルを実行し、出力するPHPページ

短い説明:

のindex.phpファイルでは、私は、データベースで見つかったすべての言語のリストを実行し、特定の言語でのonclick機能を埋めます。クリックすると、ajax関数はListTranslations.phpファイルを実行し、特定の言語で見つかったすべての翻訳のリストを出力します。ここで

Ajaxの関数が呼び出されるindex.phpを次のとおりです。

foreach($languages as $language){ 
     echo '<a href="index.php?id='. $language . '"target="_self" onclick="sendLanguage(\'' .$language. '\')">' . $language . '</a>' . ': ' . count($language) . "<br>"; 
} 

AJAX機能:(私はコンテンツのdivセットを持っている)

function sendLanguage(tongue) { 
    jQuery.ajax({ 
    url: "ListTranslations.php", 
    method: 'GET', 
    data: {language: tongue}, 
    contentType: 'application/json; charset=utf-8', 
    dataType: 'json' 
    }).done(function(r){ 
    $('#content').html(response); 
    }).fail(function(e){ 
    console.log(e); 
    }); 
} 

ListTranslations.phpファイル:

if($_GET["tongue"]) { 
    $aPoem = $poems->find(array('language'=>($_GET["tongue"]))); 
    foreach($aPoem as $poem) { 
     echo '<a href="testi.php?id=' . $poem["_id"] . '" target="_self">' . $poem["title"] .'</a><br>'; 
    } 
} 

私は間違って何をしているのかわかりませんし、なぜ機能していないのかわからないので、どんな助けでも大歓迎です!あなたのdivは、クラスまたはID、コンテンツであれば

+0

あなたはセレクタ '$( 'content')です。何も見つからないと思われます – bassxzero

+0

ajax関数では、舌の周りのデータ行にアポストロフィではいけません。 – nvi9

答えて

2

まず、宣言:

$(".content"); 
$("#content"); 

また、あなたの関数の引数は、全体の構造で使用されていないとあなただけの「舌」の文字列を使用します。

data:{language: tongue} 

また、使用する特定の理由がは廃止 jQueryのメソッド:変数を渡すために、「」などで取り除きますか?そうでない場合は、次の構造を使用する必要があります。

function findDifferentNameThanAjax(tongue) { 
    $.ajax({ 
    url: "ListTranslations.php", 
    method: 'GET', 
    data: {language: tongue}, 
    contentType: 'application/json; charset=utf-8', 
    dataType: 'json' 
    }).done(function(r){ 
    $('#content').html(response); 
    }).fail(function(e){ 
    console.log(e); 
    }); 
} 

Alseでは、ajaxのURLが正しいかどうかを確認してください。

+0

返事をありがとう。私はいくつかの古いチュートリアルを見てきたようで、その理由は廃止されたメソッドを持っていたからです。まだ動作していないようです。 foreachの問題かもしれません..私は今持っているものにコードを更新します。 – Juspeeh

+0

私はListTranslations.phpから文字列をエコーし​​ようとするとコンソールにresponseTextを取得しますが、foreachでは何も表示されません。 foreachやオブジェクトを扱うための別の構文はありますか? – Juspeeh

+0

あなたは$ _GETではありませんが、$ _GET ['language']です。試してみるべきことは、すべての$ _REQUESTをあなた自身のためにprint_rしてから、そのオブジェクトを下っていくことです。 – wscourge

関連する問題