2015-10-04 110 views
2

我正在研究從JavaScript獲取JSON值到我的JSP的代碼。 JSON值是一個布爾值,所以我可以在我的JSP腳本中使用if/else。我有兩個JavaScript文件和一個JSP。將JSON值從JavaScript傳遞到JSP

Widget.js

initialize: function(conf){ 
    _Widget.prototype.initialize.call(this); 
    _.bindAll(this, 'render', 'onPChange', 'applyInfo'); 
    this.listenTo(this.model, 'sync', this.render); 
    this.listenTo(this.model, 'error', this.handleError); 
    conf.getBus().on('/p'. this.onPChange); 
    return this; 
}, 
serializeData: function(model){ 
    return _.extend({}, this.resStr, model.attributes); 
} 
render: function(model, resp, options){ 
    var data; 
    f = JSON.stringify(data.sFund); 
    console.log("Result value: " + f); 
} 

index.js

$('#wgtWidget').objFactory(this.classes, this.wgts, this.mdls, conf); 
this.mdls['wgtWidget'].render(); 

Portlet.jsp

<div data-wgt='Widget' data-model='Model' id='wgtWidget' class='model'></div> 
<script> 
    var f; 
    console.log("Returned JSON value: " + f); 
    if(f==true) 
    console.log("Success"); 
</script> 

我咕嚕的JavaScript文件,使的縮小main.js文件。當我試圖提交上面的代碼,我得到

conf.getBus is not defined 

錯誤,而我得到的日誌爲:

Result value: true 
Returned JSON value: undefined 

如果我改變了JSP爲:

Portlet.jsp

<!-- <div data-wgt='Widget' data-model='Model' id='wgtWidget' class='model'></div> --> 
<script> 
    var f; 
    console.log("Returned JSON value: " + f); 
    if(f==true) 
    console.log("Success"); 
</script> 

現在我得到:

this.mdls.wgtWidget is not defined 

並沒有其他日誌。

我試圖從index.js代碼去除所述線

this.mdls['wgtWidget'].render(); 

。這使頁面加載沒有錯誤,但沒有其他日誌。

你能幫我解決這個問題嗎?我正努力從3天內找到答案。

謝謝。

回答

0

有了相當多的時間和工作,我明白了價值並沒有被傳遞。我剛剛刪除了a.getBus();從Widget.js和東西的工作就像奇蹟。