我有一些頭痛與JSON沒有返回的JSON。我沒有錯誤,只是沒有數據。瀏覽器顯示響應中的數據。JSON不能編碼爲json或UTF-8?
我知道這不返回的JSON因爲AJAX部分設定具體的數據類型使它無法顯示。如果我刪除dataType語句,它將顯示數據。
我打得周圍的連接字符串中的編碼,在查詢,如標題,並在AJAX部分都無濟於事。我的數據庫是UTF-8,general_ci。
AJAX:
$.ajax({
contentType: 'application/json; charset=UTF-8',
data: {'career' : $career},
dataType: 'json',
url: 'functions.php',
success: function(data) {
$("careerdata").html(data);
},
PHP:
if (isset($_GET['career'])) {
require_once 'config.php';
$query = $dbconnect->prepare("select * from jobs where Category = :category");
$query->bindParam(':category', $category);
$category = $_GET['career'];
$query->execute();
$result = $query->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($result);
$dbconnect = null;
return;
} else {
echo 'No career data found.';
};
連接文件:
try {
$dbconnect = new PDO("mysql:host=$host;dbname=$database", $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
$dbconnect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
};
如果需要任何更多的信息,請讓我知道。
工作頁面爲https://www.shardsmith.com/career.php,實際查詢爲https://www.shardsmith.com/functions.php(但由於GET變量,它不會獨立工作)。
洙....第一個明顯的問題是「你檢查什麼在'$ result'在你的PHP文件」,因爲如果這是空的,則'json_encode($結果);'是要一樣空着。然後當然http://stackoverflow.com/questions/279170/utf-8-all-the-way-through需要在這種情況下閱讀了你。 –
它不是空的,它打印的很好。問題在於AJAX呼叫得到的迴應。無論如何,我最終都是自己想出來的。 –