XMLHttpRequest с php возвращает скрипт при использовании Phonegap cordova

Я пытаюсь создать мобильное приложение с помощью cordova. Мне нужен был qr-сканер, поэтому я добавил для этой цели сканер штрих-кода телефонного зазора:

https://github.com/phonegap/phonegap-plugin-barcodescanner

Скрипт, который я пытаюсь запустить, следующий:

<script>
    function scan() {  
        cordova.plugins.barcodeScanner.scan(
            function (result) {
                        var xmlhttp;
                        if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
                            xmlhttp = new XMLHttpRequest();
                        } else { // code for IE6, IE5
                            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                        xmlhttp.onreadystatechange = function () {
                            if (this.readyState == 4 && this.status == 200) {
                                cadeaubon = JSON.parse(xmlhttp.responseText);
                                }
                        }
                        xmlhttp.open("GET", "php/getCadeaubon.php?id = " + result.text, true);

                        xmlhttp.send();
            },
            function (error) {
                alert("Scanning failed: " + error);
            },
            {
                preferFrontCamera : false, // iOS and Android
                showFlipCameraButton : true, // iOS and Android
                showTorchButton : true, // iOS and Android
                torchOn: false, // Android, launch with the torch switched on (if available)
                saveHistory: true, // Android, save scan history (default false)
                prompt : "Place a barcode inside the scan area", // Android
                resultDisplayDuration: 500, // Android, display scanned text for X ms. 0 suppresses it entirely, default 1500
                formats : "QR_CODE,PDF_417", // default: all but PDF_417 and RSS_EXPANDED
                orientation : "landscape", // Android only (portrait|landscape), default unset so it rotates with the device
                disableAnimations : true, // iOS
                disableSuccessBeep: false // iOS and Android
            }
        );
    }
</script>

Сценарий php, который запускается с этим XMLHttpRequest, выглядит следующим образом:

<?php
$id = $_GET['id'];
$server = "127.0.0.1";
$username = "root";
$password = "AHR1822";
$db = "lekker_lokaal";

$conn = new PDO("mysql:host=$server;dbname=$db", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$result = $conn->query("
    SELECT cadeaubonID, handelaarsID, genBonLocatie, waarde, ontvanger, koper, aankoopdatum, status
    FROM cadeaubons
    WHERE cadeaubonID ='".$id."'
");
$outp = array();
$outp = $result->fetchAll(PDO::FETCH_ASSOC);

echo json_encode($outp);
?>

Но когда я запускаю сборку этого проекта для Android или браузера, вместо запуска PHP-кода он просто возвращает файл. Это нормально работало, когда я использовал тот же метод в обычном веб-приложении.

Может ли кто-нибудь мне помочь, потому что у меня сейчас нет идей.

Вы проверяли конфигурацию сервера?

Sakezzz 15.05.2018 13:19

Я понял, что использовал wamp-сервер в этом скрипте, когда запускал его для своего обычного веб-приложения, поэтому я создал базу данных на Infinity Free. Когда я попытался подключиться к этой онлайн-базе данных, все работает нормально, но на кордове XMLHttpRequest по-прежнему возвращает содержимое файла php, так что, по крайней мере, это не проблема

Antoinneke 17.05.2018 14:55

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

Antoinneke 17.05.2018 15:38

О, я думаю, проблема в кордове. В соответствии с этим вопросом кордова не может интерпретировать файлы php stackoverflow.com/questions/30636828/… Я попытаюсь разместить их на FTP-сервере и попробую таким образом

Antoinneke 17.05.2018 16:14

Хорошо, поэтому я разместил файлы сценариев php на 000WebHost и назвал их в своем javascript, теперь, похоже, все работает нормально. Просто нужно добавить плагин белого списка Cordova для Android.

Antoinneke 17.05.2018 20:13
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
5
119
0

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