2011-12-01 37 views
0

這裏用jQuery $ .getJSON沒有獲得結果是我的功能可按:在PhoneGap的環境

function getEmployeeList() { 
alert("hello world3!"); 
$.getJSON(serviceURL + 'getemployees.php', function(data) { 
alert("hello world4!"); 
    $('#employeeList li').remove(); 
    employees = data.items; 
    $.each(employees, function(index, employee) { 
     $('#employeeList').append('<li><a href="employeedetails.html?id=' + employee.id + '">' + 
       '<img src="pics/' + employee.picture + '"/>' + 
       '<h4>' + employee.firstName + ' ' + employee.lastName + '</h4>' + 
       '<p>' + employee.title + '</p>' + 
       '<span class="ui-li-count">' + employee.reportCount + '</span></a></li>'); 
    }); 
    $('#employeeList').listview('refresh'); 
}); 
} 

當頁面已準備就緒,它將運行這個功能,但是,沒有追加。
我測試過了,所有的php都可以返回正確的格式。什麼錯誤?請幫我...

+1

檢查輸出與您的瀏覽器的開發者工具。你在控制檯中遇到錯誤嗎? –

+0

你如何/在哪裏調用這個函數? –

+0

這裏:$( '#employeeListPage')綁定( 'pageinit',函數(事件){ \t getEmployeeList(); }); – red23jordan

回答

0

我相信serviceURL是不是在同一個域。 在這種情況下,你在結尾處添加callback=?和jQuery做一些魔法:

$.getJSON(serviceURL + 'getemployees.php?callback=?', function(data) { 
... 

如果URL中包含字符串「?回調=」 (或類似的,由服務器端API定義),請求將被視爲JSONP。有關更多詳細信息,請參閱$ .ajax()中關於jsonp數據類型的討論。

jQuery API

+0

這就是說,如果'serviceURL'首先支持JSONP。 –

1

您需要添加外部主機(在我的情況是mysite.localhost)在PhoneGap.plist下的 「ExternalHosts」 鍵。