我正在使用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文件的数据。为什么我在尝试打印时没有直接在控制台上获取它。我调试了代码,发现回调方法没有被调用。 为什么会这样?我做错了什么或遗失了什么?感谢任何帮助。
答案 0 :(得分:2)
您正在调用的URL的服务器http://nvd3.org/examples/cumulativeLineData.json?callback=parseRequest
正在使用JSON文档而不是JSONP应用程序进行响应。
对于要触发的回调,您需要一个JSONP响应。