jQuery实现Ajax功能示例续 -- 读取dataset
2011-09-26 14:20
543 查看
此文为上一个例子的延续,是json数据类型读取数据库中的字段。但是,有时我们需要读取整张表,或者是读取几个字段的信息。这时假如还继续使用list的形式就不太对了。我想能不能就把Dataset 对象传到页面中。这样不就解决了问题,dataset中数据对象的格式是xml,所以,页面中直接来处理xml就能把数据拿到我们的控件里了。现在我们看看应该怎么改上一例子的代码。
1.首先,我们要改动webservice中的方法的返回值类型。以下代码有什么不同呢?很明显,我加了ResponseFormat,将response类型改为xml. 然后修改返回值类型为xml.
2.看看jQuery是怎么读取xml文件的。这里要注意两点, datatype 一定要改成xml。 还有一点就是, contentType 后面要加charset=utf-8。这个我也不清楚为什么,可能是字符解析问题,反正加上吧!
3. showAjaxResult 代码
欢迎转载,请注明出处,欢迎拍砖! 转到上一个例子: jQuery实现Ajax功能示例
快乐的程序员
1.首先,我们要改动webservice中的方法的返回值类型。以下代码有什么不同呢?很明显,我加了ResponseFormat,将response类型改为xml. 然后修改返回值类型为xml.
<WebMethod()> _ <ScriptMethod(ResponseFormat:=ResponseFormat.Xml)> _ Public Function LoadOrderNbrs(ByVal strSSOrderNbr As String, ByVal strSSLineNbr As Integer, ByVal instanceName As String) As String Dim dtOrders As DataSet dtOrders = bzLayerObj.LoadOrderNbrs(strSSOrderNbr, strSSLineNbr, instanceName) 'Dim list As New List(Of String)() 'Dim s As String 'For Each row As DataRow In dtOrders.Rows ' s = row.Item("ORDER_NUMBER") ' If s <> String.Empty Then ' list.Add(s) ' End If 'Next row Return dtOrders.GetXml() End Function
2.看看jQuery是怎么读取xml文件的。这里要注意两点, datatype 一定要改成xml。 还有一点就是, contentType 后面要加charset=utf-8。这个我也不清楚为什么,可能是字符解析问题,反正加上吧!
// ajax get data $().ready(function() { $("#btnOrderNbr").click(function() { $("#btnApply").hide(); $("#resultDiv").hide(); $('#<%=ddlOrderNbrs.ClientID%> > option').remove(); $('#<%=ddlooline.ClientID%> > option').remove(); var ordNum = $("#txtSSOrderNbr").val(); var lineNum = $("#txtSOline").val(); var lblmsg = $("#<%=lblerror.ClientID %>"); if (ordNum.trim() == "") { lblmsg.html("please input sales office order number"); return false; } else if (lineNum == 0 || lineNum == null) { lblmsg.html("please input sales office line number"); return false; } else { $.ajax({ type: "POST", contentType: "application/json;charset=utf-8;", url: "OrderNumService.asmx/LoadOrderNbrs", data: "{strSSOrderNbr:'" + ordNum + "',strSSLineNbr:'" + lineNum + "',instanceName:'" + GetInstanceName() + "'}", dataType: 'xml', success: showAjaxResult, error: function(XMLHttpRequest, textStatus, errorThrown) { lblmsg.ajaxError(function(event, request, settings) { $(this).append("<li>Error requesting page " + settings.url + "</li>"); }); } }); } });
3. showAjaxResult 代码
function showAjaxResult(xml) { //debugger; try { var ddlordernbrs = $('#<%=ddlordernbrs.clientid%>'); var ddlooline = $('#<%=ddlooline.clientid%>'); //message var lblmsg = $("#<%=lblerror.ClientID %>"); var btnApply = $("#btnApply"); var rltDiv = $("#resultDiv"); if ($(xml).find('Table').length > 0) { rltDiv.show(); btnApply.show(); lblmsg.html(""); $(xml).find('Table').each(function() { var orderNbr = $(this).find('ORDER_NUMBER').text(); var lineNbr = $(this).find('LINE_NUMBER').text(); ddlordernbrs.append($("<option value='" + orderNbr + "'>" + orderNbr + "</option>")); ddlooline.append($("<option value='" + lineNbr + "'>" + lineNbr + "</option>")); }); } else { rltDiv.hide(); btnApply.hide(); lblmsg.html("No order number available for this search. "); } } catch (err) { var txt = "There was an error on this page.\n\n"; txt += "Error description: " + err.description + "\n\n"; txt += "Click OK to continue.\n\n"; alert(txt); } }
欢迎转载,请注明出处,欢迎拍砖! 转到上一个例子: jQuery实现Ajax功能示例
快乐的程序员
相关文章推荐
- jQuery基于Ajax实现读取XML数据功能示例
- 使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
- jQuery+ajax实现动态添加表格tr td功能示例
- jQuery实现Ajax功能示例
- jquery实现ajax功能和读取xml
- jQuery实现Ajax功能示例
- jQuery基于ajax方式实现用户名存在性检查功能示例
- 利用jQuery简单实现产品展示图片左右滚动功能(示例代码)
- PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
- jQuery实现的简单获取索引功能示例
- 玩转jQuery设计数据表格:实现AJAX功能
- Android开发实现Files文件读取解析功能示例
- jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码
- Jquery实现搜索框提示功能示例代码
- AjaxPro.NET实现TextBox智能获取服务端数据功能(Asp.net 2.0)(示例代码下载)
- ajax实现文件异步上传并回显文件相关信息功能示例
- 《php---ajax简单示例---jquery内部运行原理》---jquery只是就ajax的一些功能进行了封装
- Jquery AjaxUpload实现文件上传功能代码实例教程
- xmlHTTP xmlDOC 与 C#中DataSet的结合 实现AJAX简单示例