+ -
当前位置:首页 → 问答吧 → prototype ajax交互时,如果设为同步,怎么里面的方法就没执行呢

prototype ajax交互时,如果设为同步,怎么里面的方法就没执行呢

时间:2011-01-05

来源:互联网

一直用的是jQuery,这次发现源项目用的是prototype,没办法,也只能用它了。因为页面已有prototype.js包,再导jquery.js,由于共用"$"符,似乎jquery的一些方法无法执行。

JScript code

new Ajax.Request(url, {
    method: "post",
    parameters: "abc=123",
    asynchronous: false,
    onComplete: function(transport) {
        alert("aaaa");
    }
});



上面代码,如果把asynchronous为true时,可以弹出"aaaa",但设为false,却始终也不弹出

由于后面的代码,是根据上面执行的结果来选择性执行的,所以必须设为"同步"。

这个地方应该如何处理

作者: ruoye_2008   发布时间: 2011-01-05

引用楼主 ruoye_2008 的回复:
一直用的是jQuery,这次发现源项目用的是prototype,没办法,也只能用它了。因为页面已有prototype.js包,再导jquery.js,由于共用"$"符,似乎jquery的一些方法无法执行。

JScript code

new Ajax.Request(url, {
method: "post",
parameters: "abc=123",
asyn……


CSS code
用firebug调试下看看,有没有成功请求并返回结果。
另外,jQuery有多库共存机制。可以和prototype共用的
方法一
var $# = jQuery.noConflict();
$#("a").click(function () {...});
方法2
(function($) { 
  $(function() {
    // 使用 $ 作为 jQuery 别名的代码
  });
})(jQuery);
// 其他用 $ 作为别名的库的代码

作者: IBM_hoojo   发布时间: 2011-01-05

函数名不唯一?

作者: yhtapmys   发布时间: 2011-01-05

谢谢楼一回答

通过firebug,确实已返回值了,可设为false的话,它就是不执行onComplete里面的方法

作者: ruoye_2008   发布时间: 2011-01-05

设为true,就可执行里面的方法

作者: ruoye_2008   发布时间: 2011-01-05

引用 4 楼 ruoye_2008 的回复:

设为true,就可执行里面的方法


有没有onSuccess其他表示请求成功的方法可以调用

作者: IBM_hoojo   发布时间: 2011-01-05

onSuccess也试了,一样的不行

刚刚用jQuery实现了,晕,为了prototype这个ajax交互,花了半天时间

作者: ruoye_2008   发布时间: 2011-01-05

先放着,明天结贴,看其它人有没有高招

再一次感谢“IBM_hoojo”

作者: ruoye_2008   发布时间: 2011-01-05

热门下载

更多