[Seasar-user:8548] Re: [Teeda Ajax] IE でのみ AjaxError 500 が発生します

Kenji Minami [E-MAIL ADDRESS DELETED]
2007年 6月 21日 (木) 14:30:57 JST


米林様


調査していただきありがとうございます。

function calc_calculate (response) {
	document.getElementById('result').innerHTML = response;
}

ご指摘のとおり、calc_calculate と (response) の間にあるスペースを削除し
たところ問題が解決しました。
doCalc() にはスペース入れてないのですが、なんでここだけスペース入れてい
るんですかね、私・・・。


足し算がうまく行かない問題については、本件の原因がわかった後に問題が残っ
ているようだったら別メールで質問するつもりでした。
こちらもご対応いただきありがとうございます。


On Thu, 21 Jun 2007 13:42:07 +0900
<[E-MAIL ADDRESS DELETED]> wrote:

> 米林です。
> 
> 調査した結果です。
> まず、calc_calculate ( 関数宣言のスペースを削除して下さい。
> 関数の括弧の前にスペースがあるとajax.js側で関数名をうまく
> 取得出来ずに正常に動作しませんでした。
> # FirefoxとIEでは挙動が異なります
> 
> 上記対応したajax.jsは近日中にコミットします。
> 
> また、足し算の場合にサーバに送る + ですが
> エンコードの問題がありこちらも対応したものは
> 近日コミットします。
> 足し算以外は正常に動作するはずです。
> 
> 現状、取り急ぎ南さんの環境で動作させる場合は
> 
> 1.calc_calculate( と括弧前のスペースを除去する
> 2."+"をパラメータに使用しない
> 
> よろしくお願いします。
> 
> ----- Original Message ----- 
> From: "Kenji Minami" <[E-MAIL ADDRESS DELETED]>
> Sent: Thursday, June 21, 2007 10:37 AM
> 
> > 米林様
> >
> >
> > > TeedaAjaxのDEBUGをtrueにしてスタックトレースを出して頂けますか?
> >
> > executeTeedaAjax の直前で DEBUG を true にしましたが、以下で正しいでしょ
> > うか。
> >
> > function doCalc() {
> > var f = document.calcForm;
> > Kumu.Ajax.DEBUG = true;
> > Kumu.Ajax.executeTeedaAjax(calc_calculate, [f.sisoku.value, f.left.value,
> f.right.value]);
> > }
> >
> >
> > 上記の doCalc を実行すると、画面上には以下のように表示されます。
> >
> >
> > AjaxError! status[500] message[
> > HTTPステータス 500 -
> >
> > ------------------------------------------------------------------------------
> --
> >
> > type 例外レポート
> >
> > メッセージ
> >
> > 説明 The server encountered an internal error () that prevented it from
> fulfilling this request.
> >
> > 例外
> >
> > java.lang.IllegalArgumentException: componentKey
> >
> org.seasar.framework.container.impl.S2ContainerImpl.assertParameterIsNotNull(S2C
> ontainerImpl.java:634)
> >
> org.seasar.framework.container.impl.S2ContainerImpl.hasComponentDef(S2ContainerI
> mpl.java:404)
> >
> org.seasar.teeda.ajax.AjaxServlet.getComponentDefNoException(AjaxServlet.java:17
> 8)
> > org.seasar.teeda.ajax.AjaxServlet.doAjax(AjaxServlet.java:86)
> > org.seasar.teeda.ajax.AjaxServlet.doGet(AjaxServlet.java:66)
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> >
> org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilte
> r.java:63)
> >
> org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilt
> er.java:63)
> 
> ---
> 米林 正明
> [E-MAIL ADDRESS DELETED]
> 
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user

-- 
Kenji Minami <[E-MAIL ADDRESS DELETED]>




Seasar-user メーリングリストの案内