jquery - jsonpCallback 未调用函数

标签 jquery ajax jsonp

这是我无法开始工作的 jquery 片段。我试图通过 jsonpCallback 调用 blackBackground()

$(document).ready(function()
{


    function blackBackground(data, status)
    {
        console.log("black background");
            //I want to eventually change the body style to black
    }

    $.ajax({
        url: 'http://localhost:3000/someurl',
        dataType: 'jsonp',

        jsonp: false,
        jsonpCallback: 'blackBackground'
    });

});

更新:

jsonpCallback: 'blackBackground'

jsonpCallback: blackBackground

同时将 blackBackground 移至全局范围。感谢大家的回复。

最佳答案

这里的问题是函数 blackBackground 在全局范围内不可用。

您可以通过如下声明来在全局范围内公开该函数:

window.blackFunction = function(){ .. }

...或者在ajax配置中使用匿名函数:

jsonpCallback: function(result){ .. }

我推荐后者,因为它会让你的全局范围保持整洁的时间更长一点:)

关于jquery - jsonpCallback 未调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15347201/

相关文章:

javascript - 使用 jQuery AJAX 的 JSONP 回调函数

jQuery 设置超时

jquery - 使用 MDL 主题更新 jquery 数据表布局

php - 当元素通过 mysql 显示时,Jquery 事件不会触发

javascript - 单ajax页面仪表板上的jquery模态复制

jsonp - 如何使用历史数据访问雅虎财经 YQL 查询

javascript - jquery 插件之外的clearinterval()

javascript - 如何确保包含多个 $.ajax 调用的函数完全同步运行,并允许浏览器在执行时重新绘制

在 ajax 中使用 dataSrc 时 jQuery 数据表和列不起作用

javascript - 运行 JavaScript 代码可以加载 JSONP 而不是脚本标签吗?