我尝试在我的aspx页面中使用ajax调用。这是我的剧本:
<head runat="server">
<title></title>
<script type="text/javascript" src="jquery/ui/jquery-ui-1.8.23.custom.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$.ajax({
type: "POST",
url: "WebForm1.aspx/List",
data: '{}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function () {
alert('asd');
}
});
});
</script>
</head>
这是我的服务器端代码:
[WebMethod]
public static string[] List()
{
...
}
我放了一个断点List的第一行但没有任何反应。你有什么建议,我犯了错误吗?
答案 0 :(得分:0)
您指定的参数是json;但是哪里是json数据? data: '{}',
是一个对象。另外,我会检查url参数。据推测,你需要像这样写你的电话:
var AjaxData = '{"ParameterName":""}';
$.ajax({
type: "POST",
url: "../WebForm1.aspx/GetList",
data: AjaxData ,
contentType: "application/json; charset=utf-8",
dataType: "json",....
然后在服务器端,您应该指定您正在接收字符串,因为这是json数据的格式。我还建议更改WebMethod的名称,因为List
可能会令人困惑。最后,你要返回json,因此你要返回一个字符串而不是一个数组。像这样的服务器方法:
[WebMethod]
public string GetList(string ParameterName)
{
...
}