У меня есть эта игра, которую я делаю, и я использую вызов ajax для php для получения элементов из базы данных, но я получаю ошибку, поэтому preloader не уйдите, и я получаю эту ошибку, когда я просматриваю ресурсы в Chrome: «Uncaught TypeError: Невозможно прочитать команду« команда »null». Любая идея, почему это так? Jquery:Uncaught TypeError: Не могу прочитать свойство 'team' of null
function appendTeam(){
$.ajax({
url : _path + "/core/ajax.php",
type : 'POST',
data : { f: 'getTeam'},
dataType : 'json',
success : function(data) {
if(data) {
return false;
} else{
var count = 0;
$.each(data.team, function(i, c){
// check
if(!$('#'+c)) return true;
var element = $('#'+c);
$('input[name="s'+i+'"]').val(element.attr('id'));
$('.slot.'+(i+1)).append(element);
element.data('prevParent', $('.slot.'+(i+1)));
count ++;
});
appendStatus(count);
setTimeout(function(){
$('#preloader').fadeOut('fast',function(){
$('#preloader').remove();
popUp('match');
});
}, 2000);
}
}
});
}
Php:
if (isset($_POST['getTeam'])) {
$team = array();
$sql = mysql_query("SELECT * FROM accounts WHERE id = '1'") or die(mysql_error());
while ($teams = mysql_fetch_array($sql)) {
$chara1 = $team['cid1'];
$chara2 = $team['cid2'];
$chara3 = $team['cid3'];
}
$team = json_encode(array(
'chara1' => $chara1,
'chara2' => $chara2,
'chara3' => $chara3
));
echo $team;
}
И я хочу, чтобы повторить команду, если у него есть команда уже выбран в этих Div элементов:
<div id="droppable_slots" class="current_team">
<div class="slot 1">1</div>
<input type="hidden" name="s0" value="10">
<div class="slot 2">2</div>
<input type="hidden" name="s1" value="7">
<div class="slot 3">3</div>
<input type="hidden" name="s2" value="3">
</div>
Я не думаю, что ваш PHP-код возвращает действительный JSON, и даже если бы это было, я ничего не вижу, создавая свойство объекта, называемое «команда». – Pointy
Как я могу сделать так, чтобы он вернул действительный JSON? –
Вы, вероятно, имеете в виду 'if (! Data) {' Также, операторы return не работают в 'success' – karthikr