Here is a demo簡而言之: 如果有人點擊更改文本next()
函數將被觸發。Internet Explorer中的Javascript故障
next()
函數將相關數據發送到ajax_next_track.php並檢索隨機數據。
然後它用隨機數據替換artist_name
和track_name
跨度中的文本。
這些在Firefox和Chrome中都可以正常工作。但是,它不在Internet Explorer中。如果您使用不同的瀏覽器點擊兩次以上的更改文本,您可以看到問題。
在其他瀏覽器中,屏幕上會顯示'加載...'文本的操作時間;但是它在Internet Explorer中立即發生,沒有操作時間。
函數next()不能將數據發送到ajax文件。
那麼,我該如何解決它?
非常感謝。
function next(tags)
{
var hr = new XMLHttpRequest();
var url = 'ajax_next_track.php?tags=' + tags;
hr.open("GET", url, true);
hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
hr.onreadystatechange = function()
{
if(hr.readyState == 4 && hr.status == 200)
{
var return_data = hr.responseText;
jsonObj = JSON.parse(return_data);
document.getElementById("artist_name").innerHTML = jsonObj.artist_name;
document.getElementById("track_name").innerHTML = jsonObj.track_name;
document.getElementById("name").title = 'play '+jsonObj.artist_name+' - '+jsonObj.track_name+' radio';
else
{
}
}
document.getElementById("track_name").innerHTML = 'loading...';
document.getElementById("artist_name").innerHTML = '';
hr.send(null);
}
<div id="player">
<div id="playPauseOutDiv" onclick="pause();">
</div>
<div id="artist_track">
<span id="artist_name">gerry rafferty</span>
<span id="track_name">baker street</span>
</div>
</a>
<div id="ikinciSatir">
<a id="changeSong" title="Shuffle" href="javascript:void(0);" onclick="next('3871');">Change</a>
</div>
</div>
你是什麼意思的「不能發送數據到ajax文件」?你的意思是「下一個」沒有被調用?或者它被調用,並且有一些錯誤?如果前者,我們需要看看它是如何被調用的。如果是後者,我們需要看到錯誤。 –
@PaulTomblin我已刪除並修復id名稱的部分。但主要問題仍然存在;並且我已經添加了html。 – Tahtakafa