0

我的帖子正在发送到服务器并正确返回;但是,我似乎无法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;
};
4

0 回答 0