【发布时间】:2014-01-07 17:19:13
【问题描述】:
我正在使用 jquery ajax 函数,如果将 Response.End() 放在服务器端,我会在成功函数中接收数据我不明白这是什么原因????
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
url: "WebForm1.aspx",
type: "POST",
datatype: "json",
success: function(data) {
alert(reuslt.CustomerID);
}
});
});
在 WebForm1.aspx 中
protected void Page_Load(object sender, EventArgs e)
{
Customer c = new Customer();
c.CustomerID = "1";
c.ContactName = "Jhon";
c.CompanyName = "Dell";
JavaScriptSerializer serializer = new JavaScriptSerializer();
String response = serializer.Serialize(c);
Response.Write(response);
Response.End();
}
客户类别
public class Customer
{
public string CustomerID { get; set; }
public string CompanyName { get; set; }
public string ContactName { get; set; }
}
【问题讨论】:
-
msdn.microsoft.com/en-us/library/ms524629(v=vs.90).aspx 我不是 C# 开发人员,但可能会阻止其他一些代码输出使您的 json 无效的内容。它立即中止请求并将迄今为止生成的内容返回给浏览器。
-
打开 Dev Tools Network 选项卡,查看服务器向您发送的内容。
-
您应该为此使用 HTTP 处理程序,而不是页面的全部开销。
-
我只是想从服务器接收 json 结果,我已经阅读了许多几乎相同但在我的场景中不起作用的教程,为什么 Response.End 可以正常工作,否则会出错。
-
@Ali 我的评论解释了为什么它可以解决问题,大多数答案也解释了这一点以及如何解决它。您对这些答案的哪一部分有疑问?
标签: c# javascript jquery json