2013-04-02 59 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文件夾中的微風文件。