我有我正在做的這個遊戲,我使用ajax調用php來從數據庫中獲取項目,但是我得到一個錯誤,所以preloader沒有走開,當我在Chrome上查看資源時出現此錯誤:「未捕獲的類型錯誤:無法讀取屬性」團隊「的空值」。任何想法爲什麼這樣做? jQuery的:未捕獲TypeError:無法讀取屬性'團隊'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