javascript - JSONP 中未调用回调函数

标签 javascript ajax jsonp

我正在使用 jsonP,并且是新手。我在不同的网站上阅读过相关内容并尝试了一个简单的示例,但未调用回调函数。控制台中没有错误,没有异常,但我仍然无法在控制台上获取数据。 这是我正在尝试的代码

function getJSONPData(){
    var url = "http://nvd3.org/examples/cumulativeLineData.json?callback=parseRequest";
    var script = document.createElement('script');
    script.setAttribute('src', url);            
    document.getElementsByTagName('head')[0].appendChild(script);
}
function parseRequest(response)
{

    try
    {
        alert("got response");
        console.log(response);
    }
    catch(an_exception) 
    {
        alert('exception occured '+an_exception);
    }
}

在 Chrome 的 Web 控制台中,在“网络”选项卡中,我可以看到请求的 json 文件已获取,状态为“200 OK”。我还可以在 chrom webconsole 的“网络”选项卡的“响应”部分中看到请求的 json 文件的数据。为什么当我尝试打印它时不能直接在控制台上获取它。我调试了代码,发现回调方法没有被调用。 为什么会这样呢?我做错了什么或遗漏了什么吗?将不胜感激任何帮助。

最佳答案

您正在调用的 URL 的服务器 http://nvd3.org/examples/cumulativeLineData.json?callback=parseRequest 使用 JSON 文档而不是 JSONP 应用程序进行响应。

要触发回调,您需要 JSONP 响应。

关于javascript - JSONP 中未调用回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25155942/

相关文章:

html - 应用程序的云同步服务

.net - JSONP 对真正 REST 的影响

javascript - 打开时无法通过 AJAX 在 jQuery UI 对话框中显示数据

javascript - 当代码输出为空时如何打印 "not found"?

javascript - HTML5 视频结束倒计时

JavaScript 函数未在 ASP.NET MVC 的局部 View 中触发

javascript - 暂时删除并稍后重新插入 DOM 元素?

jsonp - 将 jsonp 与 django-rest-framework 一起使用

javascript - 当我使用 split 方法时出现错误 Uncaught ReferenceError : function is not defined

javascript - 在 Javascript 中创建切换效果