ajax – 使用CORS从TeamCity API获取JSON
我正在尝试使用
TeamCity API来检索JSON格式的构建数据,以便在实时显示中显示.
该显示是一个简单的JavaScript应用程序,在与TeamCity服务器不同的域上作为Web页面提供.因此,必须将其作为交叉原始请求(CORS)处理. 我的问题是我找不到配置jQuery ajax请求的方法来处理CORS并要求TeamCity返回JSON响应(而不是XML响应). 我在我的ajax对象中尝试了各种设置组合,最后一个版本如下: return $.ajax({ url: url,dataType: "jsonp",/*accepts: "application/json",*/ type: "GET",xhrFields: { withCredentials:true },beforeSend: function(xhrObj){ xhrObj.setRequestHeader("Accept","application/json"); } }); “url”包括TeamCity的登录凭据,以满足Http身份验证. 我得到的响应是我想要的数据,但是采用XML格式(下面的Request& Response标题的详细信息). 所以我的问题是如何配置ajax请求以从TeamCity获取JSON? Request URL:https://xxxxx/**httpAuth/app/rest/projects**? callback=jQuery210040475526987574995_1394042043670&_=1394042043671 Request Method:GET Status Code:200 OK Request Headersview source Accept:*/* Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8 Connection:keep-alive Cookie:__test=1; TCSESSIONID=F409E3C78BD3649E4DCA846DF5DD97F2; RememberMe=-116716355^12#-8135087298707329913 Host:builds.quillpinpoint.co.uk Referer:http://localhost/orqaadmin/BuildMonitor/Index User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/33.0.1750.146 Safari/537.36 Query String Parametersview sourceview URL encoded callback:jQuery210040475526987574995_1394042043670 _:1394042043671 Response Headersview source Cache-Control:no-store Content-Length:1009 Content-Type:application/xml Date:Wed,05 Mar 2014 17:55:41 GMT Expires:Thu,01 Jan 1970 00:00:00 GMT Pragma:no-cache Server:Microsoft-IIS/7.5 Set-Cookie:RememberMe=-xxxx X-Powered-By:ARR/2.5 X-Powered-By:ASP.NET 解决方法
在TeamCity服务器上,登录,管理,服务器管理,诊断,内部属性,编辑内部属性并添加:
rest.cors.origins=* 这将添加所有网站.您可以添加以逗号分隔的网站列表. V8 V9 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |