Доступ к PHP запрещен с платформы Blackberry 10 с помощью телефонной пробки - закрыто

У меня проблема с моим проектом phonegap, работающим на симуляторе Blackberry. Версия 10.

Когда я говорю телефонный разрыв, я еще не использовал никаких функций Cordova, но мои простые функции javascript не работают в первую очередь.

У меня есть кнопка, которая вызывает функцию Javascript. Эта функция JS имеет PHP как URL для извлечения данных. Ниже приведен код функции -

function getAllDetails() {
  var myTable = '';
    myTable += '<table id="myTable" cellspacing=0 cellpadding=2 border=1>';
    myTable += "<tr><td><b>S.No.</b></td><td><b>Full Name</b></td><td><b>DOB</b></td><td><b>Gender</b></td><td><b>Address</b></td><td><b>Image</b></td><td><b>Video</b></td></tr>";
    var url = "http://XXX.XXX.XX.XX:XX/PG_crud_experiment1/retrieve_all.php";
    $.getJSON(url, function(json) {
                $.each(json, function(i, v) {
                    alert(v.id);
                            myTable += "<tr><td>" + v.id + "</td><td>"
                                    + v.name + "</td><td>" + v.dob
                                    + "</td><td>" + v.address + "</td><td>"
                                    + v.image + "</td></tr>";
                        });

                $("#emp_tb1").html(myTable);
            });
};

Проблема здесь в том, что мой щелчок по кнопке входит в функцию Javascript, но я получаю сообщение об ошибке, в котором говорится, что он не может получить доступ к URL-адресу, на котором находится мой файл PHP. PHP фактически выполняет SELECT SQL и извлекает значения из базы данных.

Ниже приведен скриншот моей ошибки на симуляторе BB 10.

Может кто-нибудь сказать, пожалуйста, почему эта проблема возникает? Существуют ли какие-либо предварительные условия / процедуры, которые необходимо выполнить, прежде чем устройство сможет запустить некоторые функции Javascript или получить доступ к сценариям PHP на сервере?XXX

3 ответа

Решение

Решение проблемы - отредактировать файл config.xml проекта - добавить тег <access subdomains="true" uri="http://*URI name here*"/>, Только после этого Blackberry разрешает доступ к другому домену.

Это может быть проблема межсайтовых запросов - я подозреваю, что сторона PHP не принимает запросы извне своего домена.

Как насчет размещения этого заголовка в верхней части вашего файла PHP?

header('Access-Control-Allow-Origin: *'); 

Как ранее говорила анами, вам нужно включить междоменное происхождение в php-файле вашего сервера. Также вам нужно иметь <access subdomains="true" uri="http://*URI name here*"/> в config.xml для ежевики.

Наличие обоих из них должно решить вашу проблему.

Другие вопросы по тегам