我知道这是可以发送一个AJAX请求到.asmx
页。 而且我也知道,一个.asmx
页面处理通过网络方法的AJAX请求。
是否也可以发送一个AJAX请求到.aspx
页面? 如果是这样,一个.aspx
页面还处理通过网络方法的AJAX请求? 请注意,我想返回从一个JSON响应.aspx
页面。 这可能吗?
我知道这是可以发送一个AJAX请求到.asmx
页。 而且我也知道,一个.asmx
页面处理通过网络方法的AJAX请求。
是否也可以发送一个AJAX请求到.aspx
页面? 如果是这样,一个.aspx
页面还处理通过网络方法的AJAX请求? 请注意,我想返回从一个JSON响应.aspx
页面。 这可能吗?
你可以在你的代码隐藏定义Web方法.aspx
页面,然后打电话给他们:
[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
}
});
这里是开始一个很好的链接。
如果我理解正确的问题,.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
}
});
试试上面的代码