1

私は.jsファイルにこのコードを持っています:

$.getJSON('http://api.wipmania.com/jsonp?callback=?', function (data) {     
  if (data.address.country='spain') {
    var a="http://www.link1.com";
  } else { 
    var a="http://www.link2.com";
  }
  return a; 
});

var fan_page_url = data();

var fan_page_url に var a を保存するにはどうすればよいですか?

どうもありがとうございました。

4

3 に答える 3

2

aリンクを削除して直接割り当ててみてください。

var fan_page_url;
$.getJSON('http://api.wipmania.com/jsonp?callback=?', function(data) {
    if (data.address.country = 'spain') {
        fan_page_url = "http://www.link1.com";
    } else {
        fan_page_url = "http://www.link2.com";
    }
});
于 2012-08-15T02:25:57.163 に答える
0

$.getJSONデポが提案したように外部変数を直接割り当てるか、戻り値をDeferredとして扱うという 2 つのオプションがあります。

$.when($.getJSON(...)).done(function(returnValue) {
    fan_page_url = returnValue;
});

後者は、結果を格納する変数をハードコーディングしたくない場合に便利です (ただし、一般的には問題にはならず、前者のオプションの方が簡単でクリーンです)。

于 2012-08-15T02:31:06.343 に答える
0

それは私がつまずいた古い質問です(少し違うものを探しています)が、答えが頭の釘に当たらないようだったので、2セント追加すると思いました:あなた(op)が変数で成功した場合ハードコードされ、config.js で手動で設定され、start.js から取得できました。

  • グローバルスコープで行ったように変数を宣言したままにします
  • デフォルトまたは null または空の値を割り当てます。

    var fan_page_url = null; // or
    var fan_page_url = ''; // or
    var fan_page_url = 'http://url_default'; // etc...
    
  • 次に、json 関数内のグローバル変数を更新します。

    $.getJSON('http://api.wipmania.com/jsonp?callback=?', function(data) {
        if (data.address.country='spain') {
            fan_page_url = "http://url1";
        } else { 
            fan_page_url = "http://url2";
        }
    });
    
  • start.js ページでは、変数が設定されているかどうか、またはデフォルト値のままかどうかを確認し、それに応じて行動することができます...

通常、手動で宣言された変数で動作していた場合、ここでは構造的に何も変更せず、json 応答の後に変数を更新するだけで同じように動作する可能性があります。

後世のために投稿された回答は、将来誰かを助けるかもしれません。

于 2015-11-20T23:24:45.687 に答える