这是一个演示简而言之:如果有人点击更改文本next()
功能将被触发。
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>