[Seasar-user:13155] Re: [Kumu] executeTeedaAjaxを複数回実行したとき
Mitsutaka Sato
[E-MAIL ADDRESS DELETED]
2008年 3月 5日 (水) 17:12:19 JST
米林様、
レスが大変遅くなってしまってすみません。
本件、以下のようなサンプルコードで確認できるかと思います。
よろしくお願いします。
■HTML
<script language="JavaScript" type="text/javascript">
//<![CDATA[
function m04_hogePage_ajaxGetAAAOptions(res){
alert(res[0].label);
var select = $i('aaa');
for(var i=0; i<res.length; i++) {
alert(res[i].label);
select.options[i+1] = new Option(res[i].label,res[i].value);
}
}
function m04_hogePage_ajaxGetBBBOptions(res){
alert(res[0].label);
var select = $i('bbb');
for(var i=0; i<res.length; i++) {
alert(res[i].label);
select.options[i+1] = new Option(res[i].label,res[i].value);
}
}
function doajax() {
var p = {ccc:'1'};
Kumu.Ajax.executeTeedaAjax(m04_hogePage_ajaxGetAAAOptions, p);
//Kumu.Ajax.executeTeedaAjax(m04_hogePage_ajaxGetAAAOptions,
{ccc:'1'});
Kumu.Ajax.executeTeedaAjax(m04_hogePage_ajaxGetBBBOptions, p);
//Kumu.Ajax.executeTeedaAjax(m04_hogePage_ajaxGetBBBOptions,
{ccc:'1'});
}
//]]>
</script>
</head><body>
<span id="fuga">ふが</span>
<form id="hogeForm">
<input type="submit" id="doAction"/>
<input type="button" value="ajax" onclick="doajax()"/>
<select id="aaa">
<option>選択してください</option>
</select>
<select id="bbb">
<option>選択してください</option>
</select>
</form>
</body>
</html>
■Pageクラス
public class HogePage {
private static final Log log = LogFactory.getLog(HogePage.class);
@PageScope
public BigDecimal fuga;
public String aaa;
public String bbb;
public String ccc;
public Class initialize() {
log.debug("init:" + fuga);
fuga = new BigDecimal("11.2");
return null;
}
public Class prerender() {
log.debug("prerender:" + fuga);
return null;
}
public Class doAction() {
fuga = new BigDecimal("22.3");
log.debug("doAction:" + fuga);
return null;
}
public String ajaxGetAAAOptions() {
log.debug("aaaOptions called: " + ccc);
return "[{label:'aaaHoge', value:'1'}, {label:'aaaFoo',
value:'2'}]";
}
public String ajaxGetBBBOptions() {
log.debug("bbbOptions called: " + ccc);
return "[{label:'bbbHoge', value:'1'}, {label:'bbbFoo',
value:'2'}]";
}
public String getLayout() {
return null;
}
}
# 別件の検証も含まれていたので無駄なプロパティも入っていますが。。
よろしくお願いします。
2008/2/13 <[E-MAIL ADDRESS DELETED]>:
> 米林です。
>
> > Kumu.Ajax.executeTeedaAjax を複数回呼び出すとき、引数に渡すオブジェクトが同じ
> だと
> > 1つ目のメソッドが何回も呼ばれるという現象が起こりました。
>
> 報告ありがとうございます。
>
> > このようにすると、fuga1が3回実行されました。
>
> 1点、確認させてください。
> この3回実行された fuga1 も念のため、見せて頂けますか?
>
> よろしくおねがいします。
>
> ----- Original Message -----
> From: "Mitsutaka Sato" <[E-MAIL ADDRESS DELETED]>
> Sent: Wednesday, February 13, 2008 6:39 PM
>
> > 佐藤と申します。
> > いつもお世話になっております。
> >
> > Kumu.Ajax.executeTeedaAjax を複数回呼び出すとき、引数に渡すオブジェクトが同じ
> だと
> > 1つ目のメソッドが何回も呼ばれるという現象が起こりました。
> >
> > =================
> > var opts = {foo: '1', bar: '2'};
> > Kumu.Ajax.executeTeedaAjax(hogePage_ajaxFuga1, opts);
> > Kumu.Ajax.executeTeedaAjax(hogePage_ajaxFuga2, opts);
> > Kumu.Ajax.executeTeedaAjax(hogePage_ajaxFuga3, opts);
> > =================
> >
> > このようにすると、fuga1が3回実行されました。
> >
> >
> > Kumu.Ajax.executeTeedaAjax(hogePage_ajaxFuga1, {foo: '1', bar:
> '2'});
> > Kumu.Ajax.executeTeedaAjax(hogePage_ajaxFuga2, {foo: '1', bar:
> '2'});
> > Kumu.Ajax.executeTeedaAjax(hogePage_ajaxFuga3, {foo: '1', bar:
> '2'});
> >
> > このようにしたところ、ちゃんとfuga1,fuga2,fuga3が実行されました。
> >
> > 不具合なのか仕様なのかわかりませんでしたがひとまずご報告いたします。
> > teeda-ajax-1.0.11-SP2 です。
>
> ---
> 米林 正明
> [E-MAIL ADDRESS DELETED]
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/seasar-user/attachments/20080305/a2ba00d6/attachment-0001.html
Seasar-user メーリングリストの案内