Я получаю следующий ответ от своего PHP-скрипта.Невозможно разобрать ответ в jQuery
PHP:
<?php
$con = mysqli_connect("localhost","root","pass","products");
if(mysqli_connect_errno()) {
echo "Failed to connect database, please check with your administrator. Error is <br />" . mysqli_connect_errno();
}
$cat = $_POST['cat'];
$text = "this is from php server";
$json = array();
$html = '';
if ($cat == 'designer'){
$query = " select * from shirts where category_1 = '$cat'";
$result = mysqli_query($con, $query);
while ($row = mysqli_fetch_array($result))
{
$html .= "<div class='des-result'>" . $row['code'] ."</div>";
}
}
if ($cat == 'regular'){
$query = " select * from shirts where category_2 = '$cat'";
$result = mysqli_query($con, $query);
while ($row = mysqli_fetch_array($result))
{
$html .= "<div class='des-result'>" . $row['code'] ."</div>";
}
}
$json[] = array(
'html' => $html,
'text' => $text
);
header('Content-Type: application/json');
echo json_encode($json);
?>
JQuery:
$("body").on("click",".reg", function(){
$(".des-result").remove();
$(".reg-result").remove();
db_name = "shirts";
category = "regular";
var data = {
cat : category
};
$.ajax ({
type:"POST",
url:"data.php",
dataType: "json",
data: data,
success: function(res) {
$("#result").append(res.html);
console.log(res.text);
},
error: function(xhr, desc, err) {
console.log(xhr);
console.log("Details: " + desc + "\nError:" + err);
}
});
Ниже вывод на консоль (с помощью Firebug), когда я нажимаю на DIV
[Object { html="<div class='des-result'>...es-result'>pk-004</div>", text="this is from php server"}]
Я думал, я бы возможность доступа к текстовым и html-переменным. res.html и res.text, но он показывает undefined, если я консоль журнала его.
Пожалуйста, руководство, что я донг неправильно здесь
Вы пробовали $ parseJSON? http://api.jquery.com/jquery.parsejson/ –
Вы попробовали вывод res на консоль, чтобы убедиться, что вы возвращаете то, что ожидаете? –
Да и я также вставил результат. Для меня это выглядит хорошо, но это первый раз, когда я работаю с JSON. – user3751873