2013-07-18 19 views
0

我正在使用PhoneGap,允许我们使用jQuery/JavaScript进行操作操作。我向CakePHP编写的web服务发送了一个Ajax请求,发送了三件事:id(来自地址栏)和纬度和经度(来自HTML5地理位置)。使用jQuery Mobile时出现跨浏览器问题

现在的问题是相同的web服务在Firefox中给出正确的数据,而在其他浏览器中为相同的latlong它说“没有数据”。

我在Ajax请求中使用了crossdomain,我使用POST方法。

这是请求码

var request= $.ajax({ 
      type: "post", 
      url: 'url', 

      data:{ id: localStorage.getItem("id"), latitude: localStorage.latitude,longitude: localStorage.longitude}, 
      crossDomain: true, 
      dataType: "xml", 
      cache: false 
     }); 
request.done(function (data){ 
//show data 
}); 
request.fail(function (data){ 
alert('error'); 
}); 
+0

您是否使用完全相同的脚本,或者您之前执行了移动检测并使脚本适应返回?也许你可以编写Ajax代码来帮助我们寻找 –

+0

我并不是那么专业,也没有明白你的观点,我使用的是jquery mobile,这是一个我面临问题的网站 –

回答

0

好的我得到的错误,并通过谷歌搜索得到解决......然后问题是在其他浏览器的JavaScript的分裂功能,特别是在铬,整数转换为字母表我不知道为什么,所以我用这个函数得到期望值........

function getUrlVars() { 
         var vars = {}; 
         var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { 
          vars[key] = value; 
         }); 
         return vars; 
        } 
        var first = getUrlVars()["id"]; 

现在如果我警觉(第一次);它会给我整数值,并且webservice会将相关记录返回到值

0

试试这个测试

if(navigator.geolocation) { 
    // API is working 
} else { 
    // no support 
} 

如果thebrowser您使用接受地理位置API它会告诉你。

+0

yes浏览器可以保存纬度和经度 –

+0

所以我们需要看到你的Ajax请求来回答。也许 –

+0

里面有一个bug更新了 –