我的HTML:
<html>
<head>
<script src="dojo/dojo.js"></script>
<script src="app/my.js"></script>
<script>
handleResult(<%server response data%>);
</script>
</head>
<body>
<div id="data"></div>
</body>
</html>
我的js:
require(["dojo/_base/Array"],function(Array){
handleResult = function(data){
Array.forEach(data,function(item,index){
//Process the data
});
}
});
当页面加载调用handleResult时,我收到错误:
Uncaught ReferenceError: test is not defined
但我可以在firebug中获得此功能 window.handleResult 请帮助我。谢谢。
答案 0 :(得分:1)
请不要使用onclick。
require(["dojo/on", "dojo/dom"],function(dom) {
var button = dom.byId("demo"));
on(button, "click", function(evnt) {
console.log(evnt);
})
});
答案 1 :(得分:0)
require
函数是异步的。您无法在require回调中定义全局变量,然后尝试立即访问它。你也应该永远不要定义全局变量,这是AMD的基本原则之一。您的应用程序架构是错误的,永远不会工作。一旦应用程序加载到客户端,您需要使用AJAX调用来请求“服务器响应数据”,而不是尝试做您正在做的事情。