我正在编写一个代码,用于从javascript到我的JSP获取JSON值。 JSON值是一个布尔值,所以我可以在我的JSP脚本中使用if / else。我有两个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
,没有其他日志。
我尝试删除该行
this.mdls['wgtWidget'].render();
来自index.js代码。这使得页面加载没有错误,但没有其他日志。
你能帮我解决这个问题吗?我很难在3天内找到答案。
谢谢。
答案 0 :(得分:0)
经过大量的时间和工作,我明白这个价值并没有按原样传递。我刚刚删除了a.getBus();来自Widget.js,这些东西就像奇迹一样。