- PR -

responseXMLについて

1
投稿者投稿内容
kureru
常連さん
会議室デビュー日: 2005/07/26
投稿数: 22
投稿日時: 2005-07-28 16:19
今現在JavaScript+XMLでサーバからうけとったXMLファイルをクライアントがJavaScriptで編集してサーバに返す処理を製作してるのですが、XMLファイルを編集した後の処理がうまくいきません。現在のおおまかなコードは

var objHttp = new ActiveXObject("Microsoft.XMLHTTP");
objHttp.open("GET", URL, false);
objHttp.send(null);

var xpath = "/*/*/件名[text()='test']/..";
var Node = objHttp.responseXML.selectSingleNode(xpath);
Node.selectSingleNode("更新区分").text = 3;
objHttp.responseXML.save();
.
.
.

といった感じなのですが、XMLを更新する時点でエラーが出ているようです。
どなたか原因がわかる方がおりましたら、ご指摘よろしくお願いします。
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2005-07-28 17:34
引用:

といった感じなのですが、XMLを更新する時点でエラーが出ているようです。


どのようなエラーが出たのかも分からないのに分かるような人は居ないんじゃないかと。

とりあえず、responseTextをalertで見てみて、エラーがないか確認。
kureru
常連さん
会議室デビュー日: 2005/07/26
投稿数: 22
投稿日時: 2005-07-28 18:16
すいません、responseTextを試してみました。
Node.selectSingleNode("更新区分").text = 3;
のあとに見ると、特に問題はないようですが、
objHttp.responseXML.save();
のところで例外で[object Error]になってしまっているようです。
でっち6号
大ベテラン
会議室デビュー日: 2005/01/31
投稿数: 176
お住まい・勤務地: Kawasaki
投稿日時: 2005-07-28 20:00
※回答ではないです

例外を拾えるなら、numberとかdescriptionとかmessageまで
確認してみましょう。

<ヒトリゴト>
saveメソッドって引数いらないんでしたっけ?
保存先を指定しなきゃいけなかった気が...
nak2k
ベテラン
会議室デビュー日: 2003/07/17
投稿数: 86
投稿日時: 2005-07-28 20:31
サーバに送り返すのなら、もう1個XMLHTTPを作成してsendの引数に最初のXMLHTTPのresponseXMLを渡すべきでは?

[ メッセージ編集済み 編集者: k-nak 編集日時 2005-07-28 20:38 ]
kureru
常連さん
会議室デビュー日: 2005/07/26
投稿数: 22
投稿日時: 2005-07-29 09:16
例外のmessageを確認したところ、でっち6号さんが言うとおりsaveメソッドの引数に保存先を指定しないといけないみたいで、使い方が違っていました。
nak2kさんの言うようにsendで送り返すようにしてみます。ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)