资源解释为脚本,但使用MIME类型application / json进行传输

时间:2011-10-27 21:32:23

标签: javascript jquery ajax

我试图从Bing的自动建议中获取信息但收到上述错误。我认为这与格式化有关,但当我尝试添加&format=json时,我收到403错误。我已经阅读了相关的问题,其中提到了application/javascript添加到标题中,但我将如何在下面的示例中执行此操作?我是AJAX的新手。

$().ready(function(){ 
var url = 'http://api.bing.com/osjson.aspx?query=test&callback=?';
  $.getJSON(url, function(data) {
      alert(data);
  });
});

3 个答案:

答案 0 :(得分:1)

Here你走了。您错过了网址中的JsonType=callback

var url = 'http://api.bing.com/osjson.aspx?query=test&JsonType=callback&JsonCallback=?'; 
$.getJSON(url, function( data ){ alert( data ) } ); 

这实际上是Bing特有的,您可以在其上找到文档here

答案 1 :(得分:0)

你应该仔细研究$ .ajax实现,“接受”属性。

答案 2 :(得分:0)

我认为您要做的是在请求中添加不同的内容类型。为此,您可能必须使用jQuery的$.ajax函数而不是getJSON函数。您可以使前者的行为相同,但您可以更好地控制您提供的设置。

你是这样的:

$.ajax({
  url: http://api.bing.com/osjson.aspx?query=test&callback=?,
  dataType: 'json',
  contentType: 'application/javascript',
  success: function() {alert(data);}
});