Bir websitemiz için Slim Framework kullanarak basit bir API yazdım fakat API istenilen JSONP'yi yayınlamıyor. Veritabanına bağlanmadığına dair hata falanda almıyorum. Php error_log da da birşey yok.
<?php
require 'vendor/autoload.php';
$app = new \Slim\Slim();
$app->contentType('application/json');
$app->get('/users', 'getUsers');
$app->run();
function getConnection() {
$dbhost="localhost";
$dbuser="";
$dbpass="";
$dbname="";
$dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $dbh;
}
function getUsers() {
$sql = "select * FROM manga";
try {
$db = getConnection();
$stmt = $db->query($sql);
$users = $stmt->fetchAll(PDO::FETCH_OBJ);
$db = null;
echo $_GET['callback'] . '('.json_encode($users).')';
}
catch(PDOException $e) {
echo $_GET['callback'] . '('.json_encode($e->getMessage()).')';
}
}
?>-API yi sitemde kullandığımda ve gelen dataya console.log yaptığımda "undefined" yazıyor.
-http://api.mysite.com/users?callback=JSON_CALLBACK urlsini tarayıcıda açtığımda ise JSON CALLBACK() yazısı çıkıyor.
-Başka bir forumda biri kendi serverinde denediğini kodun çalıştığını yazmış. Sorun nerde olabilir?
Sunucuda Nginx, MariaDB yüklü.