【发布时间】:2012-03-28 13:38:01
【问题描述】:
我的应用程序中有一个网页需要调用我已设置的 Web 服务以返回对象列表。这个调用是这样设置的
$(document).ready(function() {
var response = $.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
url: '/Ajax/service.asmx/GetObjects'
});
response.success(function(data) {
$('#bodyText').html(data);
});
response.complete(function() {
alert('ajax complete');
});
});
我的服务是这样的
namespace AjaxTest.Ajax
{
#region
using System.ComponentModel;
using System.Web.Script.Serialization;
using System.Web.Script.Services;
using System.Web.Services;
#endregion
/// <summary>
/// Summary for boat
/// </summary>
[WebService(Namespace = "http://quality/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class Boat : WebService
{
#region Public Methods and Operators
/// <summary>
/// The Get Models method.
/// </summary>
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void GetModels()
{
var models = Com.somedll.GetModels();
var serializer = new JavaScriptSerializer();
var response = models.Count != 0
? serializer.Serialize(models)
: serializer.Serialize(new Error { Code = "500", Message = "Model Retrieval Failed" });
this.Context.Response.Clear();
this.Context.Response.ContentType = "application/json";
this.Context.Response.Flush();
this.Context.Response.Write(response);
}
#endregion
}
}
我收到以下错误服务器无法在发送 HTTP 标头后附加标头。 并且查看 Firebug 请求似乎被多次发送,每个请求至少 4 ,任何人都可以帮忙。如果您需要更多信息,请告诉我
【问题讨论】:
-
冲洗应该是最后一件事吗?尝试交换顺序:this.Context.Response.Flush(); this.Context.Response.Write(response);
-
@BobTodd 仍然收到相同的错误 服务器无法在发送 HTTP 标头后附加标头。 真的很奇怪,感谢各位纠正
标签: c# jquery ajax asp.net-3.5