0

我正在开发一个带有 phonegap 的 ios 应用程序,其中我使用foursquare api列出了所有附近的场地。这是我用于列出场地的代码。

$.getJSON('https://api.foursquare.com/v2/venues/search?ll='+pos+'&radius=10000&client_id=2POUFAUU4ZBJ2MTDOY3S2YHR2NIT52FYW0LUTPHBMNTJFJNQ&client_secret=YFDZI1YWV3ZI5S5SPM2DZJEQIEBPIDJ5XFZBWTIKIQZVQNYM&v=20120101&limit=60',
          function(data) {

          console.log(pos);
          $.each(data.response.venues, function(i,venues){

                 content = '<li id="list-item"> <p><a href="#reviewPage" onClick=" return reviewPageAction(this)">' + venues.name + '</li>';

                 $(content).appendTo("#mer");

                 });
          });

如您所知,我为每个列表项提供了一个链接,该链接将加载一个评论页面,该页面将显示场地的详细信息。我为每个列表项提供了一个 onClick 函数,该函数将使用 ajax 调用我的 php 文件从我的数据库中获取一些详细信息。

以下是onclick函数的代码

$.ajax({
               type: 'GET',

               url: 'http://127.0.0.1/myPHPFile.php',
               data: { id: venueId},
               success: function(response) {


                   alert(response);
               },
               error:function(xhr,status,error){

                alert("failure "+xhr.status);
                $("#result").html('there is error while submit');
                }
               });

出于测试目的,在 myPHPFile.php 中只是回显一个字符串。

问题是我总是收到状态为 0 的错误。但它在模拟器中没有显示任何错误。在设备和桌面浏览器中显示错误!!请帮帮我。

4

3 回答 3

2

您是否在 config.xml 中配置了访问权限?喜欢:

<access origin="https://api.foursquare.com" />

或所有域:

<access origin="*" />

更多信息请访问:http ://docs.phonegap.com/en/2.4.0/guide_project-settings_index.md.html

于 2013-07-12T10:01:14.473 回答
1

http://127.0.0.1/它是同一台机器,所以如果你在模拟器上尝试它,它可以工作,因为你在那台机器上有 PHP 脚本。如果你在设备上试一下,http://127.0.0.1/是设备,设备没有PHP脚本。

您必须使用服务器的本地 IP,类似这样,但将 192.168.1.20 更改为服务器的真实本地 IP(您可以ipconfig在 windows 或ifconfigmac/linux 上知道它)

$.ajax({
               type: 'GET',

               url: 'http://192.168.1.20/myPHPFile.php',
               data: { id: venueId},
               success: function(response) {


                   alert(response);
               },
               error:function(xhr,status,error){

                alert("failure "+xhr.status);
                $("#result").html('there is error while submit');
                }
               });
于 2013-07-12T11:11:39.630 回答
-1

使用 JSONP,在 PHP 中返回数据:

echo $_GET['callback']. '('. json_encode($returnData). ');';

jQuery:

$.getJSON('yourApiUrl',
 function(data) {
  console.log(data);
 });
于 2013-07-12T11:02:38.643 回答