Javascript 错误:MIME类型(';应用程序/json';)不可执行,并且YQL语句启用了严格的MIME类型检查?

Javascript 错误:MIME类型(';应用程序/json';)不可执行,并且YQL语句启用了严格的MIME类型检查?,javascript,jquery,json,yql,Javascript,Jquery,Json,Yql,我试着举一个例子。这是我应该使用的代码: <body> <div id='results'></div> <script src='https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20rss%20where%20url%3D%22http%3A%2F%2Frss.news.yahoo.com%2Frss%2Ftopstories%22&format=json&di

我试着举一个例子。这是我应该使用的代码:

<body>
<div id='results'></div>
<script src='https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20rss%20where%20url%3D%22http%3A%2F%2Frss.news.yahoo.com%2Frss%2Ftopstories%22&format=json&diagnostics=true&callback='></script>
</body>
<script type='text/javascript'>
function top_stories(o){
  var items = o.query.results.item;
  var output = '';
  var no_items=items.length;
  for(var i=0;i<no_items;i++){
    var title = items[i].title;
    var link = items[i].link;
    var desc = items[i].description;
    output += "<h3><a href='" + link + "'>"+title+"</a></h3>" + desc + "<hr/>";
  }
  document.getElementById('results').innerHTML = output;  
}
</script>

功能顶级故事(o){
var items=o.query.results.item;
var输出=“”;
var no_items=items.length;
对于(var i=0;i第3行的
元素正在请求JSONP。它只是硬编码来执行,而不是添加JS(这对于JSONP来说很正常)


YQL提供JSON是因为您说了
callback=
,然后停止了,但实际上没有提供回调函数名。

所以,我应该删除
callback=
?完全删除
callback=
也将无法提供回调名称,所以YQL将继续提供JSON而不是JSONP。如果您想要JSONPen您必须给它一个回调名称。如果您想要JSON,那么您不能使用
元素的
src
加载它。但是它说的是
format=JSON
,而不是
format=jsonp
,所以我是如何请求jsonp的。很抱歉,我感到困惑。同一代码在YQL控制台中是如何工作的?Yahoo在教程页面上有这句话
format=jsonp
ode>请注意,YQL语句是URL编码的,format参数指定响应是JSON格式的。
您可以提供一个代码示例吗?1.您正在请求URL。2.您使用
元素的
src
执行此操作。3.JSON是数据格式,而不是程序,因此您无法设置
src
指向JSON。4.JSONP是一个JavaScript程序,它只调用函数并在参数中向函数传递一些数据。5.该函数的名称传统上是使用
回调
查询字符串值指定的。6.由于您尚未指定一个,因此返回的是JSON,它不是JavaScript程序出错,因为
需要一个回调。7.如果指定回调,则会得到JS。