2013-07-30 127 views
1

我想通過用JSON格式的字符串初始化一個Javascript變量來加載包含數據的表。如果我聲明:將Java字符串傳遞給Javascript

<script type="text/javascript"> 
var data = new String("{totalCount: '1', identifier: 'EntityID', items: [{'EntityID':'1','Country':'United States','Region':'','State':'California','County':'Santa Clara','City':'San Jose','ZipCode':'95134'}]}"); 
var d3 = eval('(' + data + ')'); 
<span dojoType="dojo.data.ItemFileWriteStore" jsId="dataStore" data=d3></span> 
</script> 

然後我的表將正確加載該行。

我已經試過我的腳本之前初始化一個Java字符串,然後通過該對象到一個Javascript變量,像這樣:

<% 
String d = "{totalCount: '1', identifier: 'EntityID', items: [{'EntityID':'1','Country':'United States','Region':'','State':'California','County':'Santa Clara','City':'San Jose','ZipCode':'95134'}]}"; 
%> 

<script type="text/javascript"> 
var data = new String(<%=d%>); 
// var data = new String(d) // tried this as well 
var d3 = eval('(' + data + ')'); 
<span dojoType="dojo.data.ItemFileWriteStore" jsId="dataStore" data=d3></span> 
</script> 

我的表不承認這一點,並不能當我嘗試加載行通過這種方式。我如何正確地將Java字符串傳遞給Javascript,以便我的表能夠加載數據?

+0

您是否收到錯誤信息? – M1Reeder

+0

是的,對不起,我應該發佈控制檯日誌。錯誤是:'在獲取table:table的數據時出錯。錯誤dojo.data.ItemFileWriteStore:沒有提供JSON源數據作爲URL或嵌套Javascript對象。「 – raphnguyen

回答

1

嘗試引用周圍。

var data = new String("<%= d %>"); 
+0

這樣做的竅門。多挑剔。 – raphnguyen

+1

@raphnguyen是的,「挑剔」..這是他們一直如此。 –