ここでは長年のWinFormプログラマーですが、Webプログラミングシーンは初めてです。Visual Studio 2010を使用していて、新しいWebSiteプロジェクトを作成しました。作成したWebメソッドをajaxで呼び出せないようです。ページのボタンをクリックしても、何も起こりません。
WebSiteプロジェクトを作成すると、jquery1.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;
}
}