2011-12-07 54 views
0

単純なajax呼び出しで、PHPはいくつかのxmlテキストを表示します。myAJAXVariableのJPayerに表示する必要があります。変数にajaxデータを格納する

私は単純にデータを印刷するphp echoと似たものが必要です。

私は単にあなたが唯一のAJAX呼び出しの結果を消費しなければならないため(最初のAは何の略かである)AJAXの非同期性にgetxml2.php

$(document).ready(function() { 



    var myAJAXVariable = $.get("http://www.freeenergymedia.com/getxml2.php", function(data){ 
return data; <!--here I am attempting to print the contents of getxml2.php as data--> 
}); 



    new jPlayerPlaylist({ 
     jPlayer: "#jquery_jplayer_1", 
     cssSelectorAncestor: "#jp_container_1" 
    }, myAJAXVariable, { 
     swfPath: "js", 
     supplied: "mp3, oga", 
     wmode: "window" 
    }); 

}); 

答えて

2

からのデータを表示するmyAJAXVariableたいです成功コールバックの内側、それ以外のデータはまだ初期化されません。

$(document).ready(function() { 
    $.get("http://www.freeenergymedia.com/getxml2.php", function(data) { 
     // Only here you should use the data variable as it is here and only here 
     // that it is assigned 

     new jPlayerPlaylist({ 
      jPlayer: "#jquery_jplayer_1", 
      cssSelectorAncestor: "#jp_container_1" 
     }, data, { 
      swfPath: "js", 
      supplied: "mp3, oga", 
      wmode: "window" 
     }); 
    }); 
}); 

または関数を作成します。

var initializejPlayer = function(data) { 
    new jPlayerPlaylist({ 
     jPlayer: "#jquery_jplayer_1", 
     cssSelectorAncestor: "#jp_container_1" 
    }, data, { 
     swfPath: "js", 
     supplied: "mp3, oga", 
     wmode: "window" 
    }); 
} 

し、その後は、AJAX呼び出しトリガー:

$(document).ready(function() { 
    $.get("http://www.freeenergymedia.com/getxml2.php", initializejPlayer); 
}); 
+0

@alex_borsody、成功コールバックの中で、無名関数に渡される 'data'変数は' getxml2.php'の実行結果を含みます。これは、発信元ドメインとは異なるドメインにAJAX要求を送信できないようにする、発信元ポリシーの制限が同じであることに注意する必要があります。したがって、 'www.freeenergymedia.com'があなたのアプリケーションをホストしたドメインでない場合、あなたはそれにAJAX要求を送ることができません。 –

1

あなたはまた、Ajaxの方法で使用することを検討可能性があり、あなた自身の `のgetData」関数を書くために(はるか設定可能もらうよりも、このスレッドDifference between $.ajax() and $.get() and $.load()フォーム追加の詳細を読んで)。次に、関数を使用してコード内のデータを取り出すことができます。

私は個人的に私のBACKBONE.JSアプリでは、URLからJSONデータを取得するために、このコードを使用します。

function getJSONData(myurl) 
var data; 
$.ajax({ 
    async: false, //thats the trick 
    url: myurl, 
    dataType: 'json', 
    success: function(response){ 
     data = response; 
     } 
    }); 
return data; 
} 

はあなたが必要な場合は、異なるデータ型(XML、JSON、スクリプト、またはHTML)を使用することができます(ここhttp://api.jquery.com/jQuery.ajax/) 見て、それから、あなたのケースでは、あなたはPlayerPlaylistオブジェクトでそれを使用することができます。

new jPlayerPlaylist({ 
    jPlayer: "#jquery_jplayer_1", 
    cssSelectorAncestor: "#jp_container_1" 
}, getJSONData("http://www.freeenergymedia.com/getxml2.php"), { 
    swfPath: "js", 
    supplied: "mp3, oga", 
    wmode: "window" 
}); 

・ホープ、このことができます。

関連する問題