我有一些javascript需要来自可爱社区的一些帮助。我正在做一些关于Jquery和DOJO的事情。
我有两个现有的应用程序。
应用程序使用大量的dojo / spring UI装饰/验证(spring 3.1.1)。另一个是纯HTML应用程序。
我现在在做什么?我正在尝试将两个项目放在一起,使用Jquery / Ajax调用从HTML项目谈话到我的spring项目,以获取从JSP生成的一些业务逻辑页面,并将JSP页面注入特定的HTML页面div(Content div)。我在这项工作上做了很多工作,我发现Jquery 1.9.1在Ajax和JSP注入方面做得很好。但是当我尝试调用我现有的JSP页面的Spring / DOJO装饰/验证功能时,我发现Jquery和DOJO之间存在重大冲突,它们根本不能共存。
从那以后,我不得不放弃Jquery,因为我大量使用了Spring / DOJO。我在javascript函数调用中发现DOJO与Jquery不一样。
例如,我可以很容易地从按钮单击事件中触发Jquery函数:
javascript as:
function doSignout() {
console.log("dosignout function called.");
$.ajax({
contentType: "application/json; charset=utf-8",
url: 'doSignout',
query: ({name : "me"}),
success: function(data){
if (data=="login required."){
doAjax();
}
}
});
}
HTML as:
<input value="Sign out" name="Sign out" id="Sign out" class="submit" type="submit" onClick="doSignout()" />
但我发现,在道场没有办法做同样的事情。
任何建议都将受到高度赞赏。
来自澳大利亚的Cidy
答案 0 :(得分:0)
你试过而不是
$.ajax({
contentType: "application/json; charset=utf-8",
url: 'doSignout',
query: ({name : "me"}),
success: function(data){
if (data=="login required."){
doAjax();
}
}
});
这将是dojo等价物
dojo.xhrPost({
url:'doSignout',
content: {key1:"value1",key2:{key3:"value2"}},
load:function(data){
if (data=="login required."){
doAjax();
}
}
});
检查dojo文档中的以下链接:
http://dojotoolkit.org/reference-guide/1.9/dojo/xhrPost.html#dojo-xhrpost
http://dojotoolkit.org/reference-guide/1.9/dojo/xhrGet.html#dojo-xhrget
使用dojo / on
监听事件的教程http://dojotoolkit.org/documentation/tutorials/1.9/events/
和dojo.connect:
http://dojotoolkit.org/documentation/tutorials/1.6/events/
你只需要“DOM Events”部分