2017-06-01 43 views
-1

我對JavaScript和jQuery相當陌生,當我學習時,我正在嘗試製作各種各樣的小應用程序。現在,我遇到一些困難,瞭解以下代碼有什麼問題:如何使用get方法以外的數據?

<script type="text/javascript"> 


     $.get("https://api.ipify.org/?format=json", ip_retriever(data);); 

     function ip_retriever(data){ 
      var ip = data.ip; 
      alert(ip); 
     } 

</script> 

你能幫助我嗎?我猜想JS/jQuery的運行我還不明白:/

我也可能要使用「IP」作爲一個全局變量(所以,同樣的代碼與功能範圍之外「VAR IP」

+0

你試圖分配給一個變種? – ThisGuyHasTwoThumbs

+0

歡迎來到堆棧溢出!請閱讀[爲什麼「有人可以幫助我?」不是一個真正的問題?](https://meta.stackoverflow.com/questions/284236/why-is-can-someone-help-me-not-an-actual - 問題),然後試圖提出更多問題。 –

回答

0

您的代碼應該是:

$.get("https://api.ipify.org/?format=json", ip_retriever); 

function ip_retriever(data){ 
    var ip = data.ip; 
    alert(ip); 
} 

當你傳遞你做的,你不需要給它的參數的方式回調,你只是告訴jQuery來調用,一旦該方法get請求已完成

你似乎做了什麼是結合實現同樣的事情的兩種不同的方法,例如,你也可以這樣寫上面的代碼爲:

$.get("https://api.ipify.org/?format=json", function (data) { 
     var ip = data.ip; 
     alert(ip); 
}); 
+1

好的,非常感謝,我明白我的錯誤。 –

+0

如果問題解決了,請將問題標記爲已回答。 –

0

請參閱驗證碼:

var ip = ""; 
$.get("https://api.ipify.org/?format=json", ip_retriever); 
function ip_retriever(data){ 
    ip = data.ip; 
    alert(ip); 
} 
+0

如果我想使用「alert(ip);」功能之外?它似乎沒有工作。 –

+0

「alert(ip);」在函數外面,警報是空白的,當我檢查「console.log(ip);」在功能之外它也是空白的。 –

+0

@anon_noob您得到空白值的原因可能是由於異步調用。我認爲你將不得不在回調函數中編寫警報消息.... –