我的帖子正在发送到服务器并正确返回;但是,我似乎无法var addressId = xhr.getResponseHeader('X-NEW-ADDRESS-ID');
从XMLHttpRequest
标题中检索到。
有人可以向我指出如何从响应中检索标头值吗?
[HttpPost]
public HttpResponseMessage AddressNew(EnterpriseAddressViewModel a)
{
HttpResponseMessage r = null;
if (ModelState.IsValid)
{
AFCCIncProsNonProsCommonDL.DataTransfer.Tables.utbAddress address = new AFCCIncProsNonProsCommonDL.DataTransfer.Tables.utbAddress();
address.AddressFlags |= (byte)Math.Pow(2, 0);
address.AddressIsVisible = true;
address.AddressLine = a.Street;
address.AddressTypeID = a.AddressTypeID;
address.ZipCode = a.Zipcode;
int newAddressID = 0;
if (Roles.IsUserInRole(_nonProRoleName))
{
AFCCIncNonProsBL.Address.Addresses_Insert(_cnn, new Guid(Membership.GetUser().ProviderUserKey.ToString()), address, out newAddressID);
}
else
{
AFCCIncProsBL.Address.InsertAddress(_cnn, new Guid(Membership.GetUser().ProviderUserKey.ToString()), address, out newAddressID);
}
r = new HttpResponseMessage(System.Net.HttpStatusCode.Accepted);
r.Headers.Add("X-NEW-ADDRESS-ID", newAddressID.ToString());
}
else
{
r = new HttpResponseMessage(System.Net.HttpStatusCode.NotAcceptable);
r.Content = new StringContent("Error adding address");
}
return r;
}
---JavaScript-------
var btnSubmitNew = function () {
var newForm = new FormData(document.forms[0]),
xhr = new XMLHttpRequest(),
that = this;
xhr.onload = function () { };
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
var addressId = xhr.getResponseHeader('X-NEW-ADDRESS-ID');
};
};
xhr.open('POST', '/EnterpriseManager/' + currPartial + 'New', true);
xhr.send(newForm);
return false;
};