Apache cordova apk не работает должным образом на Android

#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-адресе, в школе им наплевать на мир. Я думаю, что это проблема с доступом.