【发布时间】:2008-11-19 14:13:04
【问题描述】:
我正在做一个想要实现 AJAX 的项目,我决定将 jQuery 作为一个 JavaScript 库。这是 HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>jQuery AJAX</title>
<!--<script language="javascript" type="text/javascript" src="inc/scripts.js"></script>-->
<script language="javascript" type="text/javascript" src="inc/jquery-1.2.6-intellisense.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$("#clicker").click(function () {
$.ajax({
type: "POST",
url: "test.aspx/randomString",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$("#result").append(msg.d);
}
});
});
});
</script>
</head>
<body runat="server">
<form id="form1" runat="server">
<div id="result" runat="server" style="margin-bottom:5em;"></div>
<div id="clicker" runat="server" style="cursor:pointer;">Click Here to Refresh</div>
</form>
</body>
</html>
这是 test.aspx 上的后端:
<WebMethod()> _
Public Shared Function randomString() As String
Dim KeyGen As RandomKeyGenerator
Dim NumKeys As Integer
Dim i_Keys As Integer
Dim RandomKey As String
Dim oRet As New StringBuilder
NumKeys = 20
KeyGen = New RandomKeyGenerator
KeyGen.KeyLetters = "abcdefghijklmnopqrstuvwxyz"
KeyGen.KeyNumbers = "0123456789"
KeyGen.KeyChars = 12
For i_Keys = 1 To NumKeys
RandomKey = KeyGen.Generate()
oRet.AppendLine(String.Format("{0}{1}", RandomKey, ControlChars.NewLine))
Next
Return oRet.ToString
End Function
我尝试了 $("#result).text(msg.d) 以及形成一个列表 String.Format("<li>{0}</li>",RandomKey),并添加了一个中断标记 String.Format("{0}<br />",RandomKey)。
当我运行它作为一行返回的页面时,会显示所有 HTML。我需要做什么才能使其呈现 HTML?
我从this site 获得了有关如何在没有 ScriptManager 的情况下调用页面的信息。
【问题讨论】: