0

ASP.NET C# 関数に AJAX 呼び出しを送信しています。AJAX 呼び出しは問題なく完了しますが、XML 応答は空になります。Javascript コードは次のとおりです。

      $.ajax({
          type: "POST",
          url: "Default.aspx/a1",
          data: '{}',
          contentType: "application/json",
          dataType: "text/xml",
          async: true,
          success: function (data) {
              alert("success");                  
              var x = data.documentElement.childNodes[0].childNodes;
              var name = '', value = '', str = '';
              for (i = 0; i < x.length; i++) {
                  //Get node name and its string value
                  name = x[i].nodeName;
                  value = x[i].text;
                  str += name + ':' + value + ', ';
              }                 
              alert(str);                   
          },
          error: function (a, b, c) { alert("problem in Main.aspx"); }
      });

ここにウェブメソッドがあります:

[WebMethod]
public static XmlDocument a1()
{
    DataTable table1 = new DataTable("patients");
    table1.Columns.Add("name");
    table1.Columns.Add("id");
    table1.Rows.Add("sam", 1);
    table1.Rows.Add("mark", 2);

    DataTable table2 = new DataTable("medications");
    table2.Columns.Add("id");
    table2.Columns.Add("medication");
    table2.Rows.Add(1, "atenolol");
    table2.Rows.Add(2, "amoxicillin");

    // Create a DataSet and put both tables in it.
    DataSet set = new DataSet("office");
    set.Tables.Add(table1);
    set.Tables.Add(table2);

    // Visualize DataSet.
    XmlDocument doc = new XmlDocument();
    doc.LoadXml(set.GetXml());

    return doc;
}

Internet Explorer を使用し、F12 を押して、応答が 200 OK を返すネットワーク メッセージをキャプチャしました。スクリーンショットを参照してください。

http://postimg.org/image/705copynl/

C# 関数の最後にウォッチを追加すると、XML にデータが入力されていることがわかります。

http://postimg.org/image/my6rgaril/

しかし、Visual Studio では、AJAX 呼び出しにウォッチを追加し、変数データが​​空を返していることに気付きました!

http://postimg.org/image/atkgmnklp/

これは、Internet Explorer によるネットワーク メッセージ キャプチャでも確認されています。

http://postimg.org/image/o32z0hyq5/

何が起こっている?!Javascript で XML 応答を取得できないのはなぜですか? 私はこれに何日も費やして、データ型のさまざまな代替案を試しましたが、XML で答えを得ることができません! ここで何が問題になる可能性があるかについて、誰でもアドバイスできますか。

4

0 に答える 0