2013-01-22 66 views
-3

直升機所有即時通訊設置類似JSON的數據格式爲由一個名爲fusioncharts的JS libray使用的ne。Javascript錯誤「:」預計

在底部是一個名爲「數據」部分,並在那裏的錯誤是在第二個對象發生的事情:totalFundedValue

確定這裏是我的渲染HTML片段:

var totalFunded = '109321734.06'; 

var totalFundedValue; 
var totalFundedLabel; 
var totalFundedText; 


if (totalFunded != null) 
{ 
totalFundedLabel.push({ "label": "Funded",}); 
totalFundedValue.push({"value": "109321734.06"}); 
totalFundedText.push({"toolText": "$109,321,734.06"}); 
} 


"data":[{ 
    totalFundedLabel 
    totalFundedValue 
    totalFundedText 
    } 
] 

JS:

var totalFunded = '${totalFunded}'; 

var totalFundedValue; 
var totalFundedLabel; 
var totalFundedText; 


if (totalFunded != null) 
{ 
totalFundedLabel.push({ "label": "Funded",}); 
totalFundedValue.push({"value": <tld-msst:fc-value var="${totalFunded}"/>,}); 
totalFundedText.push({"toolText": "<fmt:formatNumber value='${totalFunded}' type='currency' groupingUsed='true' />"}); 
} 

只是爲了澄清,這是什麼樣子,而無需使用推方法:

data: [{ 
    "label":"Funded", 
    "value":"${totalFunded}", 
    "toolText": "<fmt:formatNumber value='${totalFunded}' type='currency' groupingUsed='true' />" 
    }, 
+0

這是無效的Javascript。 – SLaks

+2

什麼是你的問題?你忘了問一個問題。 –

+0

您不能在對象聲明之外使用冒號賦值,例如'data:[{'label':'funded'}]',您需要使用'var data = [{'label':'funded'}} ];' – Gavin

回答

1

看起來每個人都在談論'逗號'問題。還有一些其他問題,例如:

  1. 你不能只是推空變量,它會拋出一個未定義的。他們必須被宣佈爲var totalFundedLabel = [];。這可能不適用於push

您是否考慮過使用舊式對象字面量?

var totalObj = {};

var totalFunded = '109321734.06';

if (totalFunded != null) {

totalObj.label = "Funded"; 
totalObj.value = "109321734.06"; 

totalObj.toolText = "$109,321,734.06"; 

}

console.log('{"data": [' + JSON.stringify(totalObj) + ']}');

// outputs this: {"data": [{"label":"Funded","value":"109321734.06","toolText":"$109,321,734.06"}]}

這對我來說很好,並建立請求的字符串。這裏是JS小提琴玩:http://jsfiddle.net/98XXN/1/

這是否有幫助?

+1

p.s.我認爲@Doc假期得票是沒有必要的。他只是在這裏尋求幫助。走的路線:/ –

+0

@ Mike LeDoux非常感謝您的幫助。這是我設置好的其他應用程序的一個小錯誤,謝謝幫助我解決問題 –

+0

@Doc,隨時隨地。祝你好運! –

3

更改此:

totalFundedLabel.push({ "label": "Funded",}); 

要:

totalFundedLabel.push({ "label": "Funded"}); 

刪除後面的逗號。

+3

尾隨逗號,意思是:D – jbabey

+0

當它們在底部被使用時,它需要分離這些對象,即:'totalFundedLabel totalFundedValue totalFundedText' –

+0

@jbabey是的。 :) –

-1

您仍然會得到該錯誤,因爲「數據」是一個內部有對象的數組,並且對象始終需要一個指針和一個值。

"data":[{ 
    totalFundedLabel 
    totalFundedValue 
    totalFundedText 
    } 
] 

,你真的想要做的是:

"data":[{ 
    totalFundedLabel: 'value1', 
    totalFundedValue: 'value2', 
    totalFundedText: 'value3' 
    } 
] 

我希望這是有幫助!