Je tente d'accéder à des données d'une bdd MySQL depuis IONIC 3 et je n'arrive pas à afficher les données JSON retournées.
Voici l'erreur que j'ai : ERROR SyntaxError: Unexpected end of JSON input
Fichier.ts:
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams, AlertController } from 'ionic-angular';
import { Headers, RequestOptions, Http} from "@angular/http";
import { LoadingController } from 'ionic-angular';
import { HomeService } from '../../services/home-service';
import { IService } from '../../services/IService';
import { DetailPage } from '../detail/detail';
@IonicPage()
@Component({
selector: 'page-liste',
templateUrl: 'liste.html',
providers: [HomeService],
})
export class ListePage {
public items : Array<any> = [];
constructor(public navCtrl: NavController, public navParams: NavParams, public alertCtrl: AlertController, public http : Http, public loading: LoadingController, public service:HomeService) {
}
ionViewWillEnter() : void
{
this.load();
}
load() : void
{
let loader = this.loading.create({
content: 'Recherche des offres',
});
loader.present().then(() => {
this.http.post('https://mon.url.com/offres-liste.php').map(res => res.json()).subscribe(res => {
console.log(res)
loader.dismiss()
if(res == "Pas d'enregistrements"){
let alert = this.alertCtrl.create({
title: "Désolé",
subTitle: (res),
buttons: ['OK']
});
alert.present();
} else {
console.dir(res);
this.items = res;
}
});
});
}
Le fichier PHP qui doit me retourner les données :
<?php
if (isset($_SERVER['HTTP_ORIGIN'])) {
header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Max-Age: 86400'); // cache for 1 day
}
// Access-Control headers are received during OPTIONS requests
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
header("Access-Control-Allow-Headers:{$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
exit(0);
}
require 'dbconnect.php';
$data = array();
$sql = "SELECT id, titre, description FROM offre ORDER BY id ASC";
$result = mysqli_query($con,$sql);
$count = mysqli_num_rows($result);
//$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
// Assign each row of data to associative array
$data[] = $row;
}
if($count > 0) {
$response = $data;
} else {
$response = "Pas d'enregistrements";
}
echo json_encode($response);
?>
Merci de votre aide !
IONIC 3 et MySQL
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.