我知道有可能發送AJAX請求到.asmx
頁面。而且我也知道一個.asmx
頁面通過Web方法處理AJAX請求。發送AJAX請求到.aspx頁面並返回JSON
也可以發送AJAX請求到.aspx
頁面嗎?如果是這樣,.aspx
頁面是否也通過Web方法處理AJAX請求?請注意,我想從.aspx
頁面返回JSON響應。這可能嗎?
我知道有可能發送AJAX請求到.asmx
頁面。而且我也知道一個.asmx
頁面通過Web方法處理AJAX請求。發送AJAX請求到.aspx頁面並返回JSON
也可以發送AJAX請求到.aspx
頁面嗎?如果是這樣,.aspx
頁面是否也通過Web方法處理AJAX請求?請注意,我想從.aspx
頁面返回JSON響應。這可能嗎?
您可以在.aspx
頁面的代碼隱藏定義Web方法,然後打電話給他們:
[WebMethod]
public static string doSomething(int id)
{
...
return "hello";
}
,然後調用web方法在你的jQuery代碼中:
$.ajax({
type: "POST",
url: "YourPage.aspx/doSomething",
data: "{'id':'1'}",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
var returnedstring = data.d;
var jsondata = $.parseJSON(data.d);//if you want your data in json
}
});
Here是一個很好的開始。
如果我正確理解問題,Aspx與HTML相同。它將被呈現爲HTML。但唯一不同的是服務器端和控件保留狀態機制。
所以你可以做jquery $.ajax()
函數。
$.ajax({
url: UrlToGetData,
dataType:'json',
success:function(data){
//do some thing with data.
}
});
,或者如果你想JSON值寫出來的反應,然後用Response.ContentType
第一次使用任何JavaScript串行器(JSON.NET),那麼這樣設置的contentType。
Response.ContentType="application/json";
$.ajax({
url: "(aspx page name/method to be called from the aspx.cs page)",
type: "POST",
dataType: "json",
data: $.toJSON(jsonData),
contentType: "application/json; charset=utf-8",
success: function (data, textStatus, jqXHR) {
//TO DO after success
}
});
試試上面的代碼
這是一個鏈接,可以幫助你http://blog.devarchive.net/2007/12/calling-page-methods-from-javascript.html –