0

変数「mediaId」が宣言されていますが、コンソールでまだ定義されていないことがわかります。私は何を間違っていますか?

var mediaId;

//load the XML!
$.ajax({
    type: "GET",
    url: '10461632.xml', // path to XML file
    dataType: "xml", 
    success: function(data) {
        $(data).find('Root').each(function(){

            $(this).find('Item').each(function(){
            mediaId = $(this).attr('videoMediaId'); // get the mediaId
            console.log(mediaId);

            });

        });
    }
});

私の「jsonApiCall」変数では、未定義であることがわかります。

var jsonpApiCall = "http://www.domain.com/search_media/?format=jason&school=" + vid_partner + "&media_id=" + mediaId + '';

本当にありがとう!

4

2 に答える 2

0

jsonpApiCall の割り当てに使用できるスコープで mediaId を定義する必要があります。+ mediaId は使用前に値を取得する必要があります。

ラインを変えてみる

var mediaId;

の中へ

var mediaId = "";

今、同じエラーが発生しましたか? はいの場合は、mediaId 定義を上位スコープに移動します。

于 2012-10-04T20:38:02.893 に答える
0

完全なコードを投稿した方が確実ですが、私が理解しているように、変数が到着したときに変数を割り当てるXMLを要求していますが、到着する前にそれを使用しようとしています:

  1. XML を要求する
  2. 変数「mediaId」を使用します
  3. XML が到着し、「mediaId」が割り当てられます。

これを防ぐには、コールバックの外で「mediaId」を使用してはなりません。それを使用する人はすべて、コールバック内にいる必要があります。

于 2012-10-04T20:33:57.337 に答える