Webサービスを呼び出す必要があるアプリケーション内にWebページがあり、オブジェクトのリストを返すように設定しました。この呼び出しは、同じように設定されているので、ASP.NET JQuery AJAX POSTはデータを返しますが、401の応答内にあります
$(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');
});
});
私のサービスは、私はHTTPヘッダが送信された後Serverは、ヘッダーを追加することはできません、次のエラーを取得しています。この
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
}
}
のように見えます。 ファイヤーバグを見ると、リクエストは少なくとも1回はに複数回送信されているようですが、誰でも助けてくれます。詳細情報が必要な場合はお知らせください
フラッシュは最後にする必要がありますか?次の順序を入れ替えてみてください:this.Context.Response.Flush(); this.Context.Response.Write(response); –
@BobToddはまだ同じエラーが発生しています** HTTPヘッダーが送信された後、サーバーはヘッダーを追加できません**修正仲間のために本当に奇妙な感謝 – Deviland