长期在这里的 WinForm 程序员,但对 Web 编程场景很陌生。我有 Visual Studio 2010,并创建了一个新的网站项目。我似乎无法让 ajax 调用我创建的网络方法。当我点击页面上的按钮时,什么也没有发生。
当我创建一个网站项目时,看起来 jquery 1.4.1 会自动添加到 Scripts 文件夹中。
在 Default.aspx 中,我添加了 2 个脚本标签:
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript" src="Scripts/Process.js">
我在 Process.js 中定义 onclick 函数的页面上放置了一个按钮:
<input id="btnTest" type="button" value="Test" onclick="btnTest_onclick()" />
在 Process.js 我有以下代码:
function btnTest_onclick() {
var strData = JSON.stringify({
userid: 5
});
alert(strData);
$.ajax({
url: 'Default.aspx/GetData',
type: "POST",
data: strData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: Success,
failure: Failure,
async: true
});
}
function Success(data) {
alert("success");
}
function Failure(data) {
alert("failure");
}
在 Default.aspx.cs 中:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod()]
public static string GetData(int id)
{
return "hello, my id is " + id;
}
}