博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cordova ajax http 请求失败的解决方法,xcode 7 更新plist支持http
阅读量:5993 次
发布时间:2019-06-20

本文共 3513 字,大约阅读时间需要 11 分钟。

hot3.png

记录下Cordova ajax http请求的折腾纪录

尝试Cordova 也就是phonegap 做App ,尝试http 请求。遇到请求失败的几处需要注意修改的地方。

  1. Cordova 自带的demo的meta标记限制了行内javascript和http请求的域名范围。如下改为无限制。
  1. config.xml 需要设置为 <access origin="*" /> 或者自己的服务器域名

  2. xcode 更新了网络请求的安全限制,默认强制要求https了。解决办法是在 plist 文件里添加自定义的配置。

NSAppTransportSecurity
NSAllowsArbitraryLoads

demo 代码

Hello World

Apache Cordova

/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements.  See the NOTICE file * distributed with this work for additional information * regarding copyright ownership.  The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License.  You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied.  See the License for the * specific language governing permissions and limitations * under the License. */var app = {    // Application Constructor    initialize: function() {        this.bindEvents();    },    // Bind Event Listeners    //    // Bind any events that are required on startup. Common events are:    // 'load', 'deviceready', 'offline', and 'online'.    bindEvents: function() {        document.addEventListener('deviceready', this.onDeviceReady, false);    },    // deviceready Event Handler    //    // The scope of 'this' is the event. In order to call the 'receivedEvent'    // function, we must explicitly call 'app.receivedEvent(...);'    onDeviceReady: function() {        app.receivedEvent('deviceready');    },    // Update DOM on a Received Event    receivedEvent: function(id) {        var parentElement = document.getElementById(id);        var listeningElement = parentElement.querySelector('.listening');        var receivedElement = parentElement.querySelector('.received');        listeningElement.setAttribute('style', 'display:none;');        receivedElement.setAttribute('style', 'display:block;');        console.log('Received Event: ' + id);    }};app.initialize();document.addEventListener("deviceready", onDeviceReady, false);function onDeviceReady() {    //console.log(navigator.contacts);    $('#url').val('test.html');    }function httpGet(){    var url = $('#url').val();    $.ajax({           type       : "GET",           url        : url,           crossDomain: true,           //beforeSend : function() {$.mobile.loading('show')},           //complete   : function() {$.mobile.loading('hide')},           //data       : {username : 'subin', password : 'passwordx'},           dataType   : 'text',           success    : function(response) {           console.error(response);           alert('Works!');           },           error      : function() {           //console.error("error");           alert('Not working!');           }     });}

转载于:https://my.oschina.net/u/186935/blog/514507

你可能感兴趣的文章
Python 小练习三 发邮件
查看>>
RecyclerView初探
查看>>
在linux centos6.5中搭建共享目录映射到windows开发
查看>>
GitLab: API is not accessibl
查看>>
yum cannot retrieve metalink for repository
查看>>
数组及指针效率
查看>>
linux系统版本查看
查看>>
puppetSvn集成
查看>>
使用 ICSharpCode.SharpZipLib.dll 压缩和解压文件
查看>>
禅道使用之项目经理篇
查看>>
Java List 遍历
查看>>
Java 07 example
查看>>
RF框架搭建
查看>>
Redis 与 数据库处理数据的两种模式
查看>>
SQL语句关联查询
查看>>
python学习 day4
查看>>
Ubuntu 下安装Kibana和logstash
查看>>
js在mootools框架下的new Class
查看>>
Oracle select case when
查看>>
matlab print,disp,fprint,fscan
查看>>