XMLHTTPResquest.setRequestHeader () не добавляет пользовательские заголовки страниц - PullRequest
1 голос
/ 21 октября 2011

Я пытаюсь использовать AJAX для вызова SOAP-вызова (не межсайтового, поэтому он не должен сталкиваться с трудностями при работе с прокси и т. Д.)
Однако для этого требуются два пользовательских заголовка в XHR,SOAPTarget и SOAPAction.В настоящее время я использую jQuery для выполнения вызова ajax следующим образом:

jQuery.ajax({
        url: this.location,
        type: 'POST',
        data: sm,
        dataType: "xml",            
        contentType: "text/xml",
        processData: false,
        beforeSend: function(xhr){
            xhr.setRequestHeader(
                "SOAPTarget",
                this.location
            );
            xhr.setRequestHeader(
                "SOAPAction",
                this.urn
            );
        },      
        success: jQuery.jSOAPClient.success,
        error: jQuery.jSOAPClient.error
    });

Код выполняется все, как и ожидалось, однако, когда я просматриваю заголовки в Firebug, в них нет изменений.

Ответы [ 2 ]

2 голосов
/ 24 октября 2011

XHR не будет принимать заголовок запроса с нулевым значением, и, как оказалось, this в этом блоке относится к вызову Ajax, а не к объекту, частью которого является вызов ajax.* Этот вопрос, вероятно, следует переименовать в "ошибки noob случаются".

1 голос
/ 21 октября 2011

У меня недавно была похожая проблема.Вместо использования beforeSend попробуйте использовать ajaxSend .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...