Я пытаюсь получить JSON со страницы PHP, но всегда получаю «undefined».[field] Solved [/ field] Возвращение JSON через Ajax с помощью jQuery
Мой JQuery код:
<script>
$(document).ready(function(){
$("#lista_partecipanti").click(function(){
$.post("application/third_party/php_files/lista_partecipanti.php",
{
user_id:<? echo $user_id; ?> , jam_id:<? echo $id_jam; ?>
},
function(data)
{
if(data) {
$("#div_lista_partecipanti").html('test' + data[0].username);
}
else
{
alert("Error");
}
});
});
});
</script>
Мой PHP код:
<?php
include 'db_connect.php';
$a_id = $_POST['user_id'];
$b_id = $_POST['jam_id'];
$query = mysql_query("SELECT * FROM User a, Jam b WHERE a.id = b.owner AND a.id = $a_id AND b.id = $b_id");
if(mysql_num_rows() == 1)
{
$row = mysql_fetch_assoc($query);
$data = array(
'username' =>$row['username'],
'user_id' => $row['id']
);
$data = json_encode($data);
echo $data;
}
else
return false;
mysql_close();
?>
я решил мою проблему, это не было проблемой PHP, но ошибка была в коде Jquery. Я просто добавил
data = $.parseJSON(data);
перед тем
$("#div_lista_partecipanti").html(data.username);
У вас есть уязвимость в SQL-инъекции. – SLaks
Покажите нам возвращенный ответ. – SLaks
** Danger **: вы используете [** устаревший ** API баз данных] (http://stackoverflow.com/q/12859942/19068) и должны использовать [современную замену] (http: // php. нетто/ручной/EN/mysqlinfo.api.choosing.php). Вы также уязвимы для [SQL-инъекций] (http://bobby-tables.com/) **, что современный API упростит [защиту] (http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php). – Quentin