Ajax get不适用于外部页面的phonegap

时间:2014-12-24 00:50:18

标签: php jquery cordova jquery-mobile

我正在使用Jquery Mobile 1.4和phonegap,但我无法获取ajax从外部链接获取数据。这就是我所畏惧的: 包括外部页面中的标题

header("Content-type: text/html");
header("Access-Control-Allow-Origin: *");

我尝试过设置以下变量:

$.mobile.allowCrossDomainPages = true;
$.support.cors = true;

我已启用白名单:

<access origin="*" />

这是我的ajax电话:

$(document).on('pagecreate', '#index', function(){
$.ajax({
    url: 'http://myserver.com/page.php',
    type: 'GET',
    dataType: 'html',
    crossDomain: true,
    success: function(data, status) {
        alert(data);
     }
});
});

我已将此添加到AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET" />

似乎没什么用。我可以让ajax在内部页面上工作,我也可以发布到外部页面。我无法从任何外部页面获取HTML数据。谁能帮我?我已经被困在这两天了

1 个答案:

答案 0 :(得分:1)

这是一个日志拍摄,但让我猜。

当您谈论外部网页时,我猜您会使用多HTML模板。我还假设每个页面都有自己的HEAD和BODY内容。

如果是这种情况,您可以通过以下方式解决问题:

jQuery Mobile使用Ajax加载其他页面,但在此过程中它只加载BODY内容,HEAD被丢弃。只有初始jQuery Mobile页面完全加载到DOM(包括HEADE)中,再次加载它没有意义。

关于一个解决方案,有几个存在,找到它们 here