0

紛らわしい問題があり、xmlHttpRequestを初期化してリクエストを送信し、応答を受信するためのコードを記述したので、ヘルプが必要です。コードは次のとおりです。

function initRequest(url)
  {
    if(window.XMLHttpRequest){
       req=new XMLHttpRequest();
    }
    else if(window.ActiveXObject)
     {
      isIE=true;
      req=new ActiveXObject("Microsoft.XMLHTTP");
     }
   }

function validateUser()
   {           
      var sPath = window.location.pathname;
      var sAddress = sPath.substring(0,sPath.lastIndexOf('/') + 1);
     var url=sAddress+"WebService2.asmx?op=HelloWorld";               
     initRequest(url);
     req.onreadystatechange=processRequest;
     req.open("GET",url,true);
     req.setRequestHeader("Content-Type", "text/xml;charset=UTF-8");
     req.send(null);      
  }

function processRequest()
  {
    if(req.readyState==4){
     if(req.status==200)
       {
        var message="invalid";
        alert(req.responseText);           
        //message=req.responseXML.getElementsByTagName("valid")[0].childNodes[0].nodeValue;
        //SetMessage(message);
       }
       else
       {
       alert(req.statusText);
       }
     }       
  }

私の問題は次のとおりです:指定したURLから適切なXML応答を取得する場所/方法がわからない、WebサービスのHelloWorldメソッドでResposeオブジェクトを操作しましたが、結果はメソッドを呼び出すためのページのDOMアーキテクチャでした...

すべての手がかりが評価されます

4

3 に答える 3

2

この質問には2つの可能な答えがあります..

  1. ステータス コードの解釈と結果の解析に関する長く詳細な議論
  2. 確立されたライブラリを使用して、この問題を解決することを検討することをお勧めします。

私は 2 番目のアプローチを採用し、jqueryを調査することをお勧めします。jqueryはすべてのロバ作業を行い、他にも多くの利点を提供します。その後、他の人が既に解決した問題をいじるのに何時間も費やす必要はなく、自由にアプリケーションを開発できます。

PS 他の JavaScript ライブラリ (sucah は「プロトタイプ」) の存在は認めますが、jquery が私のニーズをすべて満たし、ASP.NET MVC フレームワークに含まれているため、簡単に実行できることがわかりました。

于 2009-05-13T07:58:53.780 に答える
1

DOM ではなく、文字列としての XML 応答が必要な場合は、responseXML の代わりに responseText を使用します。

また、手動で記述する代わりに、prototype または jquery を使用することを検討してください。

応答が期待したものと異なる場合は、そのサーバーの API を誤って使用している可能性があります。ドキュメントを読むか、データ交換を tcpdump することをお勧めします。

接続しようとしているサーバーを指定していないため、その API についてはお手伝いできません。

于 2009-05-13T07:59:17.260 に答える
0

XMLHttpRequestの使用に関するチュートリアルは次のとおりです。

Ajaxチュートリアル

また、ご存知のとおり、英語では、通常、大文字で始まる単語は、文の最初の単語、名前などの適切な名詞、および人称代名詞「I」のみです。

于 2009-05-13T08:35:18.450 に答える