PhoneGap ios构建Ajax不起作用
Posted
技术标签:
【中文标题】PhoneGap ios构建Ajax不起作用【英文标题】:PhoneGap ios build Ajax not working 【发布时间】:2018-03-10 09:32:05 【问题描述】:用于登录应用的 Ajax 调用在 ios phonegap 构建中不起作用,但在 android 中运行良好。
之前它在 Android 和 ios 上都运行良好,但在创建新版本后它停止在 ios 上运行。 然后我安装了旧版本,它也无法在 ios 上运行。
配置.xml
<?xml version='1.0' encoding='utf-8'?>
<name>PFC</name>
<description>
A blank PhoneGap app.
</description>
<author email="support@phonegap.com" href="http://phonegap.com">
PhoneGap Team
</author>
<gap:plugin name="cordova-plugin-x-socialsharing" source="npm" />
<plugin name="cordova-plugin-whitelist" source="npm" spec="~1.2.1" />
<gap:plugin name="cordova-plugin-ionic-webview" source="npm" />
<gap:plugin name="cordova-plugin-ionic-keyboard" source="npm" />
<content src="index.html" />
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="ios">
<preference name="target-device" value="universal" />
<preference name="prerendered-icon" value="true" />
<preference name="detect-data-types" value="true" />
<preference name="exit-on-suspend" value="true" />
<preference name="deployment-target" value="7.0" />
<preference name="fullscreen" value="true" />
<preference name="orientation" value="portrait" />
</platform>
<platform name="android">
<preference name="fullscreen" value="true" />
<preference name="orientation" value="portrait" />
</platform>
Ajax 调用
$("#login").click(function()
var email=$("#email").val();
var password=$("#password").val();
var dataString="email="+email+"&password="+password+"&login=";
if($.trim(email).length>0 & $.trim(password).length>0)
$.ajax(
type: "POST",
url: "http://profitnesscoach.in/admin/login.php",
data: dataString,
crossDomain: true,
cache: false,
beforeSend: function() $("#login").html('Connecting...');,
success: function(data)
var JSONObject = JSON.parse(data);
console.log(JSONObject); // Dump all data of the Object in the console
if(JSONObject["status"]=="success")
localStorage.login="true";
localStorage.email=email;
localStorage.id=JSONObject["id"];
window.location.href = "home.html";
else if(JSONObject["status"]=="failed")
$("#error").html('<div class="alert alert-danger"><strong>Ooops!</strong> Something went wrong.</div>')
$("#login").html('Login');
else if(JSONObject["status"]=="wrong")
$("#error").html('<div class="alert alert-danger"><strong>Ooops!</strong> Invalid Email or Password.</div>')
$("#login").html('Login');
);
return false;
);
此代码在 android 上运行良好。 但是ios不能做ajax调用
【问题讨论】:
【参考方案1】:问题出在我的 phonegap 键上。
我使用相同的苹果 P12 证书和个人资料创建了应用程序 IPA 表单 2 个不同的 phonegap 帐户。
可能是外壳冲突。
在创建新密钥后解决了新名称问题,现在我的应用运行良好
【讨论】:
以上是关于PhoneGap ios构建Ajax不起作用的主要内容,如果未能解决你的问题,请参考以下文章
使用Phonegap的IOS上的Jquery ajax请求-Ajax不起作用
使用 Phonegap 构建时,cordova-plugin-whitelist 不起作用
使用 phonegap 构建服务的插件 plugin.google.maps 在 ios 上不起作用