#android #cordova
#Android #кордова
Вопрос:
Я использую ajax для доступа к php-файлу.
$.ajax({
type:"post",
url: "http://192.168.0.111/hetazotakan/read.php",
success: function(result){
var data=JSON.parse(result);
console.log(data);
var place=document.getElementById("news_space");
for(var i=data.length-1;i>=0;i--){
place.innerHTML =`<li class="one_third">
<article><a href="#"><img src="${data[i].photo}" style="height:240px;width:320px;" alt=""></a>
<h6 class="heading">${data[i].title}</h6>
<ul class="nospace meta">
<li><i class="fa fa-user"></i> <a href="#">Admin</a></li>
<li><i class="fa fa-tag"></i> <a href="#">${data[i].date}</a></li>
</ul>
<p>${data[i].body.slice(1, 100) "..."}</p>
<footer class="nospace"><a class="btn" id="news_${data[i].id}" onclick="open_news(this.id)">Full Story amp;raquo;</a></footer>
</article>
</li>`;
}
},
error:function(){alert(2);}
});
Когда я запускаю его в браузере, он работает, сегодня я попытался запустить его на Android, но функция успеха не сработала, вместо этого она предупредила 2. Я установил cordova-plugin-whitelist в свой проект и попытался предоставить ему доступ к IP-адресу, но это не сработало. Вот файл конфигурации.
<?xml version='1.0' encoding='utf-8'?>
<widget id="io.cordova.hellocordova" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>HelloCordova</name>
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="dev@cordova.apache.org" href="http://cordova.io">
Apache Cordova Team
</author>
<content src="index.html" />
<access origin="*" />
<access origin="*" />
<allow-navigation href="*"/>
<access origin="http://192.168.0.111" />
<access origin="http://192.168.0.111/*/*" />
<allow-intent href="http://localhost" />
<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="android">
<access origin="*" />
<allow-navigation href="*"/>
<access origin="http://192.168.0.111" />
<access origin="http://192.168.0.111/*/*" />
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
</widget>
Я не знаю, что еще делать, когда я получаю доступ к 192.168.0.111/Hetazotakan/read.php адрес на моем Android-устройстве в Google работает. Крайний срок составляет менее 12 часов, помогите мне, если сможете.
Комментарии:
1. Можете ли вы настроить свою функцию Ajax, чтобы отображать текст ошибки в предупреждении? Что это говорит?
Ответ №1:
192.168.0.111
это адрес локальной сети. Если вы не планируете всегда запускать свое приложение при подключении к локальной сети, оно не будет работать в реальном мире. Рассмотрим доменное имя.
Комментарии:
1. Спасибо за ваш ответ. Это школьный проект, и он должен выполняться на локальном IP-адресе, в школе им наплевать на мир. Я думаю, что это проблема с доступом.