長時間的WinForm程序員在這裏,但新的Web編程場景。我有Visual Studio 2010,並創建了一個新的WebSite項目。 我似乎無法讓ajax調用我創建的webmethod。當我點擊頁面上的按鈕時,根本沒有任何反應。Web方法不是由jQuery的JavaScript函數調用
它看起來像jquery 1.4.1會自動添加到腳本文件夾中,當我創建一個WebSite項目。
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">
我把一個按鈕在頁面上,其中的onclick功能在Process.js定義:
<input id="btnTest" type="button" value="Test" onclick="btnTest_onclick()" />
過程中。 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;
}
}
你知道...你可以隨時'控制檯來獲取最新的穩定版本的jQuery(或使用UI做同樣的,甚至通過更換腳本做手工更新,包jquery'文件) – MilkyWayJoe
也在[$ .ajax](http://api.jquery.com/jQuery.ajax/)中,正確的回調是'error'而不是'failure'。替換那個。 – MilkyWayJoe
1.4.1不穩定?我想因爲MS似乎自動爲你包括它,我認爲它必須是穩定的。這有效地告訴我,它是失敗的,謝謝。現在我需要弄清楚爲什麼它失敗:) – user441521