我跟随教程here并遇到问题。
首先,Rally默认禁用了JSONP,并警告不要将其重新打开。没有它,您无法在本地运行开发应用程序。这是一个巨大的PITA。我们继续战斗。我通过在rallydev.com环境中创建自定义HTML应用程序来运行它,每次我更改代码并以这种方式查看。
我只是去了#34;添加一张CardBoard到应用程序"部分,我已经有JS错误。从开发者控制台:
sdk.js:formatted:69475 Error: success callback for Deferred transformed result of Deferred transformed result of Deferred threw: TypeError: Cannot read property 'project' of undefined
at Ext.define.getFullyQualifiedName (sdk.js:formatted:78147)
at Ext.define.build (sdk.js:formatted:78170)
at Ext.define.buildCompositeArtifact (sdk.js:formatted:78209)
at Ext.define.getModel (sdk.js:formatted:96694)
at Ext.define._buildColumnsFromModel (sdk.js:formatted:96901)
at Ext.define._parseColumns (sdk.js:formatted:96898)
at sdk.js:formatted:67474
at Ext.define.notify (sdk.js:formatted:67523)
at Ext.define.register (sdk.js:formatted:67509)
at Ext.define.then (sdk.js:formatted:67408)Ext.override.log @ sdk.js:formatted:69475Ext.define.error @ sdk.js:formatted:66221(anonymous function) @ sdk.js:formatted:67479Ext.define.notify @ sdk.js:formatted:67523Ext.define.register @ sdk.js:formatted:67509Ext.define.then @ sdk.js:formatted:67408Ext.define.then @ sdk.js:formatted:67347Ext.define._parseColumnsAndRows @ sdk.js:formatted:96825Ext.define.onModelsRetrieved @ sdk.js:formatted:96728Rally.data.ModelFactory.getModels.success @ sdk.js:formatted:96736(anonymous function) @ sdk.js:formatted:1108
从sdk.js:在控制台中格式化,此代码是它发生的地方,第78145行到78149. context
未定义:
getFullyQualifiedName: function() {
var context = this.getContext();
return context.project ? oidStr = "project." + Rally.util.Ref.getOidFromRef(context.project) : oidStr = "workspace." + Rally.util.Ref.getOidFromRef(context.workspace),
"Rally.domain." + this.getWsapiVersion() + "." + oidStr + "." + this.getTypePath().replace(/\//g, "")
},
ETA:我尝试从教程中复制完整代码,但也失败了(同样的错误)。所以,如果Rally的任何人看到这一点,那就破了。 JSONP kerfuffle的解决方法也很棒。
ETA:我遵循了@KyleMorse的建议并转到2.1指令。我将最终代码复制到我的App.js.我现在可以在本地运行,但是有JS错误:
XMLHttpRequest cannot load https://rally1.rallydev.com/slm/webservice/v2.0/Project/54629369420?fetch=O…rationEstimateUnitName%2CReleaseEstimateUnitName%2CTaskUnitName%2CChildren. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:1337' is therefore not allowed access.
我在Rally中添加了一个新的应用程序。它加载,但列不显示,我看到JS错误:
sdk.js:65 Error: success callback for Deferred transformed result of Deferred transformed result of Deferred threw: TypeError: Cannot read property 'project' of undefined
at Ext.define.getFullyQualifiedName (sdk.js:72)
at Ext.define.build (sdk.js:72)
at Ext.define.buildCompositeArtifact (sdk.js:72)
at Ext.define.getModel (sdk.js:89)
at Ext.define._buildColumnsFromModel (sdk.js:89)
at Ext.define._parseColumns (sdk.js:89)
at sdk.js:62
at Ext.define.notify (sdk.js:63)
at Ext.define.register (sdk.js:62)
at Ext.define.then (sdk.js:62)Ext.override.log @ sdk.js:65Ext.define.error @ sdk.js:61(anonymous function) @ sdk.js:62Ext.define.notify @ sdk.js:63Ext.define.register @ sdk.js:62Ext.define.then @ sdk.js:62Ext.define.then @ sdk.js:62Ext.define._parseColumnsAndRows @ sdk.js:89Ext.define.onModelsRetrieved @ sdk.js:89Rally.data.ModelFactory.getModels.success @ sdk.js:89(anonymous function) @ sdk.js:1
答案 0 :(得分:1)
由于您刚开始使用,我建议您使用最新版本的SDK及其相应的指南:https://help.rallydev.com/apps/2.1/doc/#!/guide/first_app
自从2.0文档发布以来,您引用的JSONP问题是新的。 2.1文档提到了这个限制。您肯定希望使用Rally App Builder来运行您的应用来解决此问题。
您绝对不需要不断地将应用程序复制/粘贴到自定义HTML面板中进行测试 - 这非常痛苦,这也是我们首先创建Rally App Builder的主要原因之一。
我无法重现您遇到的其他问题。如果您还有问题,可以再次使用新指南并报告吗?