【发布时间】:2012-10-17 20:29:26
【问题描述】:
ascx.cs
protected string BindData()
{
List<Product> products = product.GetRepeaterData(prod);
string json = JsonConvert.SerializeObject(products);
return json;
}
ascx
<script type="text/javascript" language="javascript">
function doSomething() {
$.ajax({
type: "POST",
url: "/ProgramListSimple.aspx/BindData",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg);
}
});
};
我看不到任何警报..我不知道 ajax 函数是否正在执行它应该执行的操作..此代码用于用户控制而不是在 aspx 页面上,这有关系吗?在调试时,我可以看到 json 字符串中的序列化数据。只是它没有在客户端渲染..从早上开始就开始工作了,现在我需要一些帮助..任何示例或任何文档也很有用..
【问题讨论】:
-
使用
console.log()而不是alert(),您将能够在调试器控制台中看到整个 JSON 对象。alert()只能显示字符串。 -
@Blazemonger 不工作......我什至在控制台中都看不到它
-
这表明
/ProgramListSimple.aspx/BindData正在返回一个空文件,然后。success: function (msg) { console.log(msg); }应该向您显示该脚本通常会显示的任何内容。 -
@Blazemonger 有什么方法可以调试它?
-
问题是 PageMethod 声明,它不是静态的,也不是公开的。为了调试它,我强烈建议您安装Fiddler
标签: c# asp.net json jquery json.net