Web API并不总是返回JSONP数据

时间:2017-08-08 14:55:35

标签: javascript jquery ajax sonarqube jsonp

我一直在使用SonarQube网络API,发现了一个有趣的差异。对于某些API调用,将dataType设置为JSONP以解决CORS错误可以正常工作并将数据作为JSONP返回,而对于其他人来说,数据只能作为JSON返回,因为我正在进行跨源请求。我想知道这是否是我的错误或是否有意?

对于上下文,对/ api / resources的API调用可以使用JSONP进行响应,但是对/ api / issues / search的调用则不能。

      $.ajax({
        url: 'http://sonar.optum.com/api/resources?resource=IDWS-IdentificationWorkstation:master&metrics=coverage',
        method: 'GET',
        dataType: "jsonp"
      })

上述AJAX调用成功运行并返回JSONP数据。

$.ajax({
        url: 'http://sonar.optum.com/api/issues/search?projectKeys=IDWS-IdentificationWorkstation:master',
        method: 'GET',
        dataType: "jsonp"
      })

此AJAX调用没有。

1 个答案:

答案 0 :(得分:0)

Web api端点的内部实现各不相同。在SonarQube中< 6.0一些端点是用ruby编写的。甚至在SonarQube 6.5中,一些端点使用protobuf序列化json,其他端点使用简单的Stringbuilder。

取决于内部实施,更多矿石和JSON功能"提供。