我正在使用 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/