【发布时间】:2013-12-26 11:40:27
【问题描述】:
这是我的 jquery ajax 调用:
var result = $.ajax({
type: "POST",
url: "messages.aspx/GetMessages",
data: jsonText,
contentType: "application/json; charset=utf-8",
dataType: "text",
success: function (data) {
alert(data);
},
failure: function (msg) {
alert(msg);
},
error: function (xhr, err) {
alert(err);
alert(xhr);
}
});
这是我的网络方法:
<WebMethod()>
Public Shared Function GetMessages(clientID As String, CommandText As String) As String
Dim dsMain As New DataSet()
Try
Dim objConnectionStringSettings As ConnectionStringSettings = ConfigurationManager.ConnectionStrings("nXstepRevampDevConnectionString")
strConnectionString = objConnectionStringSettings.ConnectionString
Dim cnn As New SqlConnection()
cnn.ConnectionString = strConnectionString
cmd.Connection = cnn
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "GetAll_Employee_Messages"
cmd.Parameters.Clear()
AddParameter("@EmployeeID", Convert.ToInt32(clientID))
dsMain = ExecuteDataSet()
If dsMain.Tables(0).Rows.Count > 0 Then
Dim flag As Boolean = True
End If
Catch ex As Exception
End Try
Return dsMain.GetXml
End Function
但是当我将 xml 字符串返回给我的 jquery ajax 调用时,我得到了一些不想要的输出。我想要下面的输出(警报),
"<NewDataSet> <Table> <EID>1</EID> <IsRead>false</IsRead> <ID>1</ID> <ClientID>1</ClientID> <Title>Dot Net Training Session</Title> <Message>Dot Net Training Session Included<br>ASP.net<br>C#<br>Vb.net<br>SQL Server<br><br><br></Message> <Priority>1</Priority> <MessagePostDate>2013-11-01T14:56:11.733+05:00</MessagePostDate> <MessageStartDate>2013-11-21T00:00:00+05:00</MessageStartDate> <MessageExpiryDate>2013-11-30T00:00:00+05:00</MessageExpiryDate> <Deleted>false</Deleted> <IsVideoMessage>false</IsVideoMessage> <IsVideoMessageType>0</IsVideoMessageType> <MessVideoPath /> <MessVideoName /> <UpdatedBy>3</UpdatedBy> <UpdatedOn>2013-11-21T11:26:43.897+05:00</UpdatedOn> </Table> <Table> <EID>1</EID> <IsRead>false</IsRead> <ID>2</ID> <ClientID>1</ClientID> <Title>Crunch Fitness Officially Crowned the Single Greatest Gym Franchise of All Time</Title> <Message>saefasdf asdf asdf asdf</Message> <Priority>2</Priority> <MessagePostDate>2013-11-12T21:52:01.013+05:00</MessagePostDate> <MessageStartDate>2013-11-21T00:00:00+05:00</MessageStartDate> <MessageExpiryDate>2013-11-22T00:00:00+05:00</MessageExpiryDate> <Deleted>false</Deleted> <IsVideoMessage>false</IsVideoMessage> <IsVideoMessageType>0</IsVideoMessageType> <MessVideoPath>Messages/Mess2/</MessVideoPath> <MessVideoName>Wildlife.flv</MessVideoName> <UpdatedBy>3</UpdatedBy> <UpdatedOn>2013-11-21T11:27:01.23+05:00</UpdatedOn> </Table> <Table> <EID>1</EID> <IsRead>false</IsRead> <ID>3</ID> <ClientID>1</ClientID> <Title>test</Title> <Message>sdahjkhdfkjsanhdf</Message> <Priority>3</Priority> <IsVideoMessage>false</IsVideoMessage> <IsVideoMessageType>0</IsVideoMessageType> </Table> </NewDataSet>" String
但我在警报中得到以下输出:
"{"NewDataSet\u003e\r\n \u003cTable\u003e\r\n \u003cEID\u003e1\u003c/EID\u003e\r\n \u003cIsRead\u003efalse\u003c/IsRead\u003e\r\n \u003cID\u003e1\u003c/ID\u003e\r\n \u003cClientID\u003e1\u003c/ClientID\u003e\r\n \u003cTitle\u003eDot Net Training Session\u003c/Title\u003e\r\n \u003cMessage\u003eDot Net Training Session Included<br>ASP.net<br>C#<br>Vb.net<br>SQL Server<br><br><br>\u003c/Message\u003e\r\n \u003cPriority\u003e1\u003c/Priority\u003e\r\n \u003cMessagePostDate\u003e2013-11-01T14:56:11.733+05:00\u003c/MessagePostDate\u003e\r\n \u003cMessageStartDate\u003e2013-11-21T00:00:00+05:00\u003c/MessageStartDate\u003e\r\n \u003cMessageExpiryDate\u003e2013-11-30T00:00:00+05:00\u003c/MessageExpiryDate\u003e\r\n \u003cDeleted\u003efalse\u003c/Deleted\u003e\r\n \u003cIsVideoMessage\u003efalse\u003c/IsVideoMessage\u003e\r\n \u003cIsVideoMessageType\u003e0\u003c/IsVideoMessageType\u003e\r\n \u003cMessVideoPath /\u003e\r\n \u003cMessVideoName /\u003e\r\n \u003cUpdatedBy\u003e3\u003c/UpdatedBy\u003e\r\n \u003cUpdatedOn\u003e2013-11-21T11:26:43.897+05:00\u003c/UpdatedOn\u003e\r\n \u003c/Table\u003e\r\n \u003cTable\u003e\r\n \u003cEID\u003e1\u003c/EID\u003e\r\n \u003cIsRead\u003efalse\u003c/IsRead\u003e\r\n \u003cID\u003e2\u003c/ID\u003e\r\n \u003cClientID\u003e1\u003c/ClientID\u003e\r\n \u003cTitle\u003eCrunch Fitness Officially Crowned the Single Greatest Gym Franchise of All Time\u003c/Title\u003e\r\n \u003cMessage\u003esaefasdf asdf asdf asdf\u003c/Message\u003e\r\n \u003cPriority\u003e2\u003c/Priority\u003e\r\n \u003cMessagePostDate\u003e2013-11-12T21:52:01.013+05:00\u003c/MessagePostDate\u003e\r\n \u003cMessageStartDate\u003e2013-11-21T00:00:00+05:00\u003c/MessageStartDate\u003e\r\n \u003cMessageExpiryDate\u003e2013-11-22T00:00:00+05:00\u003c/MessageExpiryDate\u003e\r\n \u003cDeleted\u003efalse\u003c/Deleted\u003e\r\n \u003cIsVideoMessage\u003efalse\u003c/IsVideoMessage\u003e\r\n \u003cIsVideoMessageType\u003e0\u003c/IsVideoMessageType\u003e\r\n \u003cMessVideoPath\u003eMessages/Mess2/\u003c/MessVideoPath\u003e\r\n \u003cMessVideoName\u003eWildlife.flv\u003c/MessVideoName\u003e\r\n \u003cUpdatedBy\u003e3\u003c/UpdatedBy\u003e\r\n \u003cUpdatedOn\u003e2013-11-21T11:27:01.23+05:00\u003c/UpdatedOn\u003e\r\n \u003c/Table\u003e\r\n \u003cTable\u003e\r\n \u003cEID\u003e1\u003c/EID\u003e\r\n \u003cIsRead\u003efalse\u003c/IsRead\u003e\r\n \u003cID\u003e3\u003c/ID\u003e\r\n \u003cClientID\u003e1\u003c/ClientID\u003e\r\n \u003cTitle\u003etest\u003c/Title\u003e\r\n \u003cMessage\u003esdahjkhdfkjsanhdf\u003c/Message\u003e\r\n \u003cPriority\u003e3\u003c/Priority\u003e\r\n \u003cIsVideoMessage\u003efalse\u003c/IsVideoMessage\u003e\r\n \u003cIsVideoMessageType\u003e0\u003c/IsVideoMessageType\u003e\r\n \u003c/Table\u003e\r\n\u003c/NewDataSet\u003e"}"
我正在获取数据,但标签正在更改为一些奇怪的单词并导致问题...我无法弄清楚问题,请帮助解决这个问题。此外,我在从函数返回之前检查了该值很好。但是我不知道当我在 jquery ajax 成功功能中提醒它时会发生什么。请帮忙
【问题讨论】:
标签: xml jquery xml-parsing dataset webmethod