使用jquery ajax时服务器端函数不起作用 函数ShowCurrentTime(){ $.ajax({ 类型:“POST”, url:“Default.aspx/jsonrep”, 数据:“{}”, contentType:“应用程序/json;字符集=utf-8”, 数据类型:“json”, async:true, cache:false, 成功:一旦成功, 故障:功能(响应){ 警报(response.d); } }); } 函数OnSuccess(响应){ 警报(response.d); }
代码文件代码是使用jquery ajax时服务器端函数不起作用 函数ShowCurrentTime(){ $.ajax({ 类型:“POST”, url:“Default.aspx/jsonrep”, 数据:“{}”, contentType:“应用程序/json;字符集=utf-8”, 数据类型:“json”, async:true, cache:false, 成功:一旦成功, 故障:功能(响应){ 警报(response.d); } }); } 函数OnSuccess(响应){ 警报(response.d); },jquery,asp.net,json,Jquery,Asp.net,Json,代码文件代码是 <script src="jquery-1.3.2.min.js" type="text/javascript"></script> <script type = "text/javascript"> function ShowCurrentTime() { $.ajax({ type: "POST", url: "Default.aspx/jsonrep", data: "{}",
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script type = "text/javascript">
function ShowCurrentTime() {
$.ajax({
type: "POST",
url: "Default.aspx/jsonrep",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
cache: false,
success: OnSuccess,
failure: function (response) {
alert(response.d);
}
});
}
function OnSuccess(response) {
alert(response.d);
}
</script>
<input id="btnGetTime" type="button" value="Show Current Time"
onclick = "ShowCurrentTime()" />
[System.Web.Services.WebMethod]
公共字符串jsonrep()
{
GetOrders();
var jsonSerialiser=新的JavaScriptSerializer();
var json=jsonSerialiser.Serialize(列表);
返回json.ToString();
}
公共列表GetOrders()
{
DataProp o=新的DataProp();
对于(int i=1;i您缺少此行中的static
引用:
[System.Web.Services.WebMethod]
public string jsonrep()
{
GetOrders();
var jsonSerialiser = new JavaScriptSerializer();
var json = jsonSerialiser.Serialize(list);
return json.ToString();
}
public List<DataProp> GetOrders()
{
DataProp o = new DataProp();
for (int i = 1; i <= 8; i++)
{
o.Earning = 20000 * i;
o.Number = 8 * i;
list.Add(o);
}
return list;
}
换成
public string jsonrep()
.从链接:
静态方法只是与其包含类的任何实例解除关联的方法。更常见的替代方法是实例方法,其结果取决于所属类的特定实例的状态。从某种意义上说,静态方法是无状态的方法
因此,JS只理解静态方法,因为只有它们可以在没有类引用的情况下实例化
如果你想使用非静态的东西,我建议你使用asmx
服务/ashx
处理程序。如果你使用母版页,你会遇到问题。在使用母版页时,我无法从代码隐藏页成功调用WebMethod。我最终创建了一个服务。
public static string jsonrep()