在PhoneGap环境中使用JQuery $ .getJSON没有获得任何结果

时间:2011-12-01 16:09:52

标签: php jquery cordova

这是我的功能:

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都可以返回正确的格式。什么错了?请帮帮我......

2 个答案:

答案 0 :(得分:1)

您需要在PhoneGap.plist中的“ExternalHosts”键下添加外部主机(在我的情况下是mysite.localhost)。

答案 1 :(得分:0)

我认为serviceURL不在同一个域中。 在这种情况下,你最后添加callback=?,jQuery做了一些魔术:

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

如果网址包含字符串“callback =?” (或类似的,由服务器端API定义),请求被视为JSONP。有关更多详细信息,请参阅$ .ajax()中有关jsonp数据类型的讨论。

jQuery API