我正在尝试使用它:https://github.com/derekmartinez18/Simple-Ajax-Spotify-Now-Playing我有这个非常简单的功能,显示我在spotify上听到的内容:
function get_spotify() {
$.ajax({
type: 'POST',
url: 'spotify.php',
data: { request: 'true' },
success: function(reply) {
$('.now-playing').html("<p>" + reply + "</p>");
}
});
};
问题是它没有触发。但如果我在控制台并输入
get_spotify()
它确实有效,结果显示在页面上。
这个js在关闭body标签之前在.js文件中调用,如下所示:
<script type="text/javascript">
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "js/build/production.min.js";
document.body.appendChild(element);
}
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else
window.onload = downloadJSAtOnload;
</script>
我尝试在js文件中的函数之后添加这个,但没有任何反应,我也尝试了一个闭包函数或包装在文档就绪函数中,但它只是不会触发。我无法解决问题所在:/你可以帮忙吗?
答案 0 :(得分:2)
我已经在小提琴中测试了你的代码,它可以自己动手。但是当我从你的unminified js文件中添加一些代码时,它会暂停所有执行。
所以,虽然我不能指出那个巨大的production.min.js文件中的每一个可能的错误,但我知道有错误,他们正在阻止代码进展。
这是一些容易找到的行,即语法错误(可能是编码问题,但无论如何报告错误):
// JQuery Twitter Feed. Coded by...
$(document).ready(function () {
Â
    var displaylimit = 3;
    var twitterprofile = "vlrprbttst";
    var screenname = "v
...
我确定还有其他人。该文件看起来不太稳定
编辑:
显然错误是由于..
$(window).resize(function() { navHeight(); })();
应该是:
$(window).resize(function() { navHeight(); });
@Grundy找到并纠正错误的完全信用。
答案 1 :(得分:0)
具有班级名称的元素&#34;正在播放&#34;声明函数后,可能不会立即存在。尝试将您的调用打包到$(document).ready(function() { })
中的函数:
$(document).ready(get_spotify);
这会将get_spotify
传递给您的页面加载后调用的回调。
答案 2 :(得分:0)
您应该将您的功能置于全局范围内,并且可以在准备好文档时调用它:
$(function(){ // this makes sure DOM is ready
get_spotify();
});
答案 3 :(得分:0)
您可以尝试添加以下代码
<强>代码强>
$(document).ready(function()
{
get_spotify();
// the rest of the code goes here
});