Ионные рамки и PHP MySQL

Я новичок в Ionic, Apahce Cordova, и я создал простое приложение, в котором есть элементы статического представления списка, но я хочу получить данные из таблицы MYSQL и заменить их в своем статическом списке. Я гуглю это, кто-то работал над этим, но я не знаю, куда мне поместить мои php-файлы, и я создал несколько php-файлов в файлах Ionic app / www / php, но это не работает для меня, и каково ваше решение, ребята? Спасибо

2

Решение

Вы можете поместить свои php-файлы на локальный или живой сервер. У меня была такая же проблема (Cross-Origin Request Blocked), когда приложение запускалось в браузере. Вот решения из моего опыта

1. Проверьте приложение в эмуляторе, а не в браузере и измените адрес localhost на этот http://10.0.2.2/test/test.php. Это будет хорошо работать для меня

2.Если вы работаете на устройстве Android, вы не можете получить доступ с локального хоста, поэтому поместите файлы на сервер
например:http://www.testapp.in/test/test.php

2

Другие решения

Как сказано выше, ваши файлы PHP должны быть размещены на веб-сервере. И поскольку ресурс не является локальным для вашего приложения, вам потребуется $ http.jsonp, который позволяет CORS.

Вот пример того, как вы бы отправили запрос на страницу PHP в AngularJS.

$http.jsonp("http://domain/project/example.php?callback=JSON_CALLBACK&p1=" + $scope.val1 + "&p2=" + $scope.val2)
.success(function(data) {
//some function
})

.error(function(data) {
console.log("http request failed");
});

ИЛИ ЖЕ

Для отправки запросов с использованием jQuery вы можете сослаться на этот пост: https://stackoverflow.com/a/28740155/4412363

Теперь вы можете $_GET данные, то вы должен иметь ответ в JSONP, Также вам нужно добавить обратный вызов в вашем ответе. Это будет выглядеть так:

echo $_GET['callback'] . '(' . json_encode($result) . ')';

PS: здесь Ionic заботится об IP-адресах, когда вы пытаетесь использовать эмулятор. Так что я просто установил домен URL на мой локальный IP-адрес, и работает на всех устройствах (настольных, эмуляторных и мобильных)

0

По вопросам рекламы [email protected]