2013-04-02 60 views
2

我刚刚将我的Breeze nuget包从1.1.3升级到1.2.7。我遇到了一些具有“ComplexType”项的类错误,因此升级后,当从MVC4 Web API读取元数据时,出现以下错误。除了ComplexType以外,一切都正常工作,所以我知道所有事情都已到位,因为我正在获取元数据,并且能够在屏幕上显示数据。Breeze JSON解析元数据错误

Uncaught SyntaxError: Unexpected token o 

Uncaught SyntaxError: Unexpected token o breeze.debug.js:12561 
ctor.fetchMetadata.ajaxImpl.ajax.success breeze.debug.js:12561 
jQuery.Callbacks.fire jquery-1.9.1.js:1037 
jQuery.Callbacks.self.fireWith jquery-1.9.1.js:1148 
done jquery-1.9.1.js:8074 
jQuery.ajaxTransport.send.callback 
+0

不知道你在看什么,我们已经转换了我们所有的样品和内部测试没有问题。在元数据检索期间或第一次查询期间,这是否失败? –

+0

仅在元数据检索期间。它在行12562:var metadata = JSON.parse(data);我只是将其更改为var metadata = data,并且它正常工作。我不认为“数据”可以解析为JSON。 – aminjam

回答

0

我有完全相同的问题,我注意到,当你发出对元数据位置的GET(/ API /上下文/元数据),它返回JSON格式的XML文档。我也认为有一个相关的question,但略有不同的情况。但是,在这种情况下,错误发生在ctor.prototype.fetchMetadata,包含JSON.parse()。但我很确定是完全相同的根本原因。

只需更新来自Nuget的Breeze(包括dll和js文件),那就可以做到这一点。 请注意,您可能需要手动删除/Scripts文件夹中的微风文件。