使用jQuery接收DataSet (xml)

本文关键字:xml DataSet jQuery 接收 使用 | 更新日期: 2023-09-27 18:13:22

我有这个示例代码在jQuery中连接到我的WebService

发送文本,接收文本。它的作品非常好。

<html  lang="en-US">
    <head>
        <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
        <meta name="viewport" content="width=device-width" />
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
        <script type="text/javascript">
            //var WS_URI = 'http://10.0.0.5/WS_Catalog_SQL/Service1.asmx/GetItem';    
            var WS_URI = 'http://10.0.0.5/WS_Catalog/Service1.asmx/GetItem';   
            var MAKAT ;
            function Look() {
                MAKAT = document.getElementById("txt").value.toString();
                $.ajax({
                    ServiceCallID: 1,
                    url: WS_URI,
                    type: 'POST',
                    data: '{"Makat": "' + MAKAT + '"}',
                    contentType: 'application/json; charset=utf-8',
                    dataType: 'json',
                    success:
                        function (data, textStatus, XMLHttpRequest) {
                            //document.writeln(data.d);
                            $("#RES").text((data.d).toString());
                        },
                    error:
                  function (XMLHttpRequest, textStatus, errorThrown) {
                      alert(textStatus);
                  }
                });
            }
    </script>
    </head>
    <body >
          <br />
          <button onclick="Look();">Press me</button>
          <input id="txt"  value="1111"/>
          <br />
          <p id="RES">res</p>
    </body>
</html>
我的WebService代码:
[WebMethod]
        public DataSet  GetItem(string Makat)
        {
            dsView = new DataSet();
            OpenConnection();
            SQL = "select Item,Des from MyTbl where Item = '" + Makat + "'";
            dsView = new DataSet();
            adp_SQL = new SqlDataAdapter(SQL, Conn_SQL);
            adp_SQL.Fill(dsView, "MyTbl ");
            adp_SQL.Dispose();
            if (dsView.Tables["MyTbl "].Rows.Count >= 1)
            {
                return dsView;
            }
            else
            {
                return null;
            }
        }

现在我需要接收数据集(xml),

我建立WebService (c#)接收文本和发送数据集

但是jQuery不起作用

我试试这个:

contentType: "text/xml",
dataType: "text",

并得到这个错误:

POST http://10.0.0.5/WS_Catalog_SQL/Service1.asmx/GetItem 500 (Internal Server Error) jquery.min.js:130
c.extend.ajax jquery.min.js:130
Look (index):14
onclick

我的头骨折了两天,似乎找不到解决办法....

使用jQuery接收DataSet (xml)

尝试更改请求对象的数据类型:

contentType: "text/xml",
dataType: "text",