2012-03-21 29 views
0

我試圖在我的應用程序中獲取一些json數據,但它不會出現在結果函數中。無法在我的電話頁面上獲取json結果

function myLoad(){ 
     output.innerHTML = 'in the load';// + items; 
     var myJsonUrl = 'http://....be/.../lineup.php'; 

     $.getJSON(myJsonUrl, function(data) { 
       output.innerHTML = "IN THE FUNCTION"; 
     }); 

     output.innerHTML = 'END load'; 
    } 

在MU輸出的div我不能在負載「看見,因此停止在.getJSON一部分。 我已經包含了正確的jQuery庫(jQuery的手機和jquery1.4),並從指定的網址JSON驗證。

我在做什麼錯了?

編輯:

在鉻它的作品感嘆。 因爲我正在爲Android應用程序工作,所以我在Eclipse Web瀏覽器中進行了測試。 顯然,瀏覽器s ** ks。

THX爲理念巨魔爵士

=>仍然不能回答我的問題

+0

你確定你使用類似'json_encode()'的方式來回應json格式的回報嗎? – SpYk3HH 2012-03-21 14:50:26

+0

從頭開始,只是遵循鏈接,它看起來是json格式 – SpYk3HH 2012-03-21 14:50:57

+0

另外,我總是使用http://jsonlint.com/來驗證json。 – 2012-03-21 14:51:49

回答

0

您確定沒有收到數據嗎?你的例子很可能用IN THE FUNCTION覆蓋END加載,因爲回調將在函數結束後執行。

所以output.innerHTML將得到的值是這樣的:

1. "in the load". 
--> Ajax request start 
2. "end load" 
--> Ajax request finishes 
3. "in the function" 

我建議嘗試在回調輸出data,並在回調函數中移除外部innerHTML的變化。

0

是在jsonUrl在同一個域中的腳本?我並不確定,但我認爲你不能用AJAX腳本來完成跨域請求。

更新:

是PHP腳本發送json頭? header('Content-type: application/json')

1

我可能在回答這個問題時有點遲,但是正在研究phonegap並且有類似的問題。您需要將該URL添加到ExternalHost陣列下的phonegap.plist文件中。

我補充說,我現在正在從外部URL獲取JSON數據。

希望這會有所幫助。