gpt4 book ai didi

javascript - PhoneGap 未发出 AJAX (jsonp) 请求

转载 作者:行者123 更新时间:2023-11-29 16:05:17 26 4
gpt4 key购买 nike

我一整天都在努力解决这个问题,并且到处搜索。可能是我找不到包含解决方案的那一页...但我已经查看了问题和解决方案,例如:

Ajax call on phonegap not sending request

JQuery mobile + Phonegap : Ajax calls not working on Android Emulator

而且那里的两种解决方案似乎都没有解决我的问题。

我想要做的就是向我的远程服务器发出一个 AJAX 调用,上传一些参数并下载一些内容。此脚本在浏览器中完美运行,但取决于对 Phonegap 中文件的微小更改,要么返回“超时”错误,要么只是说“错误”。代码如下(AJAX 端点是一个开发端点,我将其保留,以便您也可以尝试点击它):

<html>
<head>
<script type="text/javascript" charset="utf-8" src="jquery-1.10.2.min.js"></script>
</head>

<body>
<ul>
<div id="app-status-ul">
<li>Loaded</li>
</div>
</ul>
</body>
<script>
var serverRegHit = function(data, httpStat){
$("#app-status-ul").append('<li>Server Reg OK, HTTP status: '+httpStat+'</li>');
$("#app-status-ul").append('<li>Data Status: '+JSON.stringify(data)+'</li>');
};
var serverRegFail = function(data, httpStat){
$("#app-status-ul").append('<li>Server Reg FAIL, HTTP status: '+httpStat+'</li>');
$("#app-status-ul").append('<li>Data Status: '+JSON.stringify(data)+'</li>');
};
$.ajax({url:"http://keb.bz/gcm/?deviceid=12345",
jsonp: 'callback',
dataType: 'jsonp',
timeout: 25000,
success: serverRegHit,
error: serverRegFail});

</script>
</html>

我试过使用 cordova 2.9,并降级到 2.5,但这似乎也没有帮助。

我的 config.xml 已列入白名单 .* 和 keb.bz 域,这些权限使应用程序可以访问 list 中的互联网 - 我认为这是可行的,因为它能够成功检索 GCM 设备 ID。

我已经尝试通过 AJAX 使用 JSON、JSONp、TEXT 和各种数据类型,但这些都没有任何区别。

Cordova/PhoneGap 中是否还有其他我遗漏的配置点?

如有任何帮助,我们将不胜感激。

最佳答案

感谢@xioawl 让我仔细检查我的 manifest.xml。原来我在那里没有正确配置权限。

最后,我最终使用了 Cordova 2.5、jQuery 1.10(没有使用 jQuery Mobile),使用以下访问路径设置我的 res/config.xml:

<access origin="http://127.0.0.1*" />
<access origin="http://keb.bz" subdomains="true" />
<access origin=".*" /> <!-- only during development -->

在包含所有 JavaScript 库之后放置此代码段:

<script>
$(document).bind("mobileinit", function(){
$.mobile.allowCrossDomainPages = true;
});
</script>

并使用以下 manifest.xml 权限:

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

我的 JSONp 查询继续如下所示:

$.ajax({url:"http://keb.bz/gcm/?deviceid=12345",
jsonp: 'callback',
dataType: 'jsonp',
timeout: 25000,
success: serverRegHit,
error: serverRegFail});

希望这对某人有用!

关于javascript - PhoneGap 未发出 AJAX (jsonp) 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19333895/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com