JSONがJSONとして返されないという頭痛があります。私はエラーがなく、データはまったくありません。ブラウザは応答のデータを表示します。jsonやUTF-8としてエンコードされていないJSONですか?
AJAXセクションにdataTypeを設定すると、何も表示されないため、JSONとして返されません。 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変数のために独立して動作しません)。
スヨン....最初の明白な疑問は、それが空の場合は、その後、 'json_encode($結果)ので、「あなたは、PHPファイル内の' $のresult'に何があるか確認しなかった」である; 'しようとしていますちょうど空である。もちろん、この場合はhttp://stackoverflow.com/questions/279170/utf-8-all-the-way-throughが必要です。 –
それは空ではなく、うまく印刷されました。問題は、AJAXコールが受けていた応答でした。私は結局どのような場合でも自分自身を理解することに終わった。 –