JSONP格式是否必须完美?见例子

Gho*_*ell 4 javascript jquery jsonp

我正在使用JSONP尝试从WOT API获取一些结果.请参阅下面的代码:

  // Prepare the URL
  var url='http://api.mywot.com/0.4/public_link_json?hosts=amazon.co.uk/&callback=cbfunc';

  // Lookup
  $.getJSON(url, function(data){
    alert('success');
  });
Run Code Online (Sandbox Code Playgroud)

由于某些原因,这似乎失败了(因为我在浏览器中没有发出警报).经过一些研究后,似乎返回的JSONP在回调函数的末尾有一个空格(在最后一个花括号和右括号之间):

cbfunc({ "amazon.co.uk": { "target": "amazon.co.uk", "0": [ 95, 88 ], "1": [ 95, 87 ], "2": [ 95, 87 ], "4": [ 95, 87 ] } } )
Run Code Online (Sandbox Code Playgroud)

在使用在线JSON格式化程序(http://jsonformatter.curiousconcept.com/)后,看起来这个单独的空间正在抛出整个$ .getJSON()函数,因为它无法处理空间?

JSONP格式是否真的具体?我以为Javascript忽略了空格?我是否正确诊断了这个?有什么办法可以处理JSONP并删除空间吗?

在此先感谢,我正在使用jQUery BTW.

Dar*_*rov 8

我是否正确诊断了这个?

不,这与空白无关.Javascript是空白不可知的:-)

您应该callback=?在您的网址中使用,而不是callback=cbfunc文档的JSONP部分中说明.

这是现场演示:http://jsfiddle.net/Ssfk2/

由jQuery替换为?您正在使用的匿名成功回调的名称.