2015-08-25 16 views
5

đã thực hiện một lộ trình cho MarkersController.php trả về json, nhưng khi tôi tìm đến con đường tôi nhận được lỗi sau:nhân vật lỗi mã hóa cho file .php

Mã hóa ký tự của tài liệu HTML không được công bố. Tài liệu sẽ hiển thị với văn bản bị cắt xén trong một số cấu hình trình duyệt nếu tài liệu chứa các ký tự từ bên ngoài phạm vi US-ASCII. Mã hóa ký tự của trang phải được khai báo trong tài liệu hoặc trong giao thức truyền tải.

tuyến đường của tôi là như sau:

$app->get('/markers/?', function() use ($app) { 
    $controller = new UF\MarkersController($app); 
    return $controller->getMarkersJSON(); 
}); 

MarkersController.php

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    {% include 'components/head.html' %} 
    </head> 
    <body> 
<?php 
include('DB_INFO.php'); 

function getMarkersJSON(){  
// Opens a connection to a MySQL server. 
$connection = mysqli_connect($server, $username, $password); 

if (!$connection) { 
    die('Not connected : ' . mysqli_error());} 
// Sets the active MySQL database. 
$db_selected = mysqli_select_db($database, $connection); 

if (!$db_selected) { 
    die('Can\'t use db : ' . mysqli_error());} 

// Selects all the rows in the markers table. 
$query = "SELECT * FROM tester WHERE 1"; 
$result = mysqli_query($connection, $query); 

if (!$result) { 
    die('Invalid query: '. mysqli_error()); 
} 
$markers = array(); 
while ($row = mysqli_fetch_assoc($result)) { 
    //Assuming "lat" is column name in tester table. Please change it if required. 
    $lat= $rows['lat']; 
    //Assuming "lng" is column name in tester table. Please change it if required. 
    $lng= $rows['lng']; 
    $markers = array('lat' => $lat, 'lng' => $lng); 
} 
echo json_encode($markers); 
} 
?> 
</body> 
</html> 
+0

Trình duyệt web là nói cho bạn điều này? – MonkeyZeus

+2

với mã này, bạn xuất HTML với JSON bên trong. đây có phải là những gì bạn thực sự muốn? bạn không muốn JSON sẽ được chương trình khác đọc? – mmm

+0

FireFox @MonkeyZeus – fst104

Trả lời

0

Bạn có Content-Type nét vào head.html của bạn? Nếu câu trả lời là không, cố gắng đưa

<meta http-equiv="Content-Type" content="text/html;charset=[your-charset]" /> 

vào head.html bạn

Các vấn đề liên quan