- - PR -
AjaxでXMLデータの受け渡し
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-05-08 18:19
あと、HTML らしきものが混入しているなら、aspx ファイル内に HTML の断片が残っていませんか? 念のためそれらを削って、XML を書き出す前に Response.Clear() (だっけ?)で出力バッファの内容をクリアしてから、自分の書き出したい内容を出力すればいいんじゃないかな。 | ||||||||||||
|
投稿日時: 2006-05-08 18:35
すいませんこちらのエラーもください。
あと、この部分て XmlDocument 作らなくてもできませんか?
| ||||||||||||
|
投稿日時: 2006-05-08 18:43
私なら、Ajaxサーバ側をWebサービス(asmxファイル)で作りますね。 戻り値を構造体または構造体配列にすると綺麗なXMLを返します。
Ajaxクライアント側では http://myServer/myProject/myService.asmx/WhoAreYou?id=1 を呼びます。 web.configでHttpGetを有効にする必要があります。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=27408&forum=7 | ||||||||||||
|
投稿日時: 2006-05-09 10:08
すいません返信が遅れました。
頂いた意見を参考に組み直してみたら上手く受信できました。 Response.Clear(); Response.ContentEncoding = System.Text.Encoding.UTF8; Response.ContentType = "text/xml"; Response.Write("<?xml version='1.0' encoding='UTF-8'?>"); Response.Write(ds.GetXml()); かるあさんの指摘されたエラーなんですがtry catchでどうしても取れませんでした。 XmlDocumentより文字列を直接Writeした方がスムーズに行くんですね。 ResponseEnd()は記述したかったのですが送信XML文に"スレッドを中止しようとしました。"が混ざってしまいエラーになりました。 Webサービスはこれから勉強しようと思います。 今回出来たのはみなさんの御かげです。 本当に有難うございました。 | ||||||||||||
|
投稿日時: 2006-05-09 10:17
了解しました。なんなんでしょうね
これは catch しなければ素通りしませんでしたっけ? } catch (Exception ex) { とかしていませんか? | ||||||||||||
|
投稿日時: 2006-05-09 10:25
そのとおりでした!
Responseを使ってる所では記述しない方がいいですね。 Response.End()は最後に追加しときます。 (重ね重ねすいません^^;) | ||||||||||||
|
投稿日時: 2006-05-09 10:50
というより
これが絶対駄目ですね。再スローするならいいですけど。 ログ等を採るためにしているだけかな? _________________ 囚人のジレンマな日々 | ||||||||||||
|
投稿日時: 2006-05-09 10:51
誰かリンクを張りそうですが やっぱり出しといたほうが良いでしょうか http://d.hatena.ne.jp/NAL-6295/20050909 |