Я пытаюсь получить значение из CGI с jquery ajax. я не могу изменить какие-либо настройки CGI, потому что это не на моем собственном сервере.jquery ajax: читать значение из CGI
все, что я знаю о CGI является то, что, если я сразу записываю это в адресной строке браузера:
«HTTP: //otherdomain/cgi-bin/getvalue.exe значение»
тогда я получите значение ответа, т.е. 1234, которое отображается в пустое окно браузера.
со следующим вызовом ajax. Я получаю значение ответа в firebug -> network -> response tab (1234). но я не могу получить доступ к значению в javascript. console.log (data) просто возвращает «undefinded».
есть ли способ поймать значение с помощью javascript?
Я думаю, что мне нужно отправить запрос ajax как dataType: «script», потому что пароль (cookie) должен быть отправлен в CGI. если я выбираю dataType: «text» пароль из cookie не отправляется в заголовок запроса.
$.ajax({
type: "GET",
url: "http://otherdomain/cgi-bin/getvalue.exe?value",
crossDomain: true,
cache: true,
dataType: "script",
success: function(data, textStatus, jqXHR) {
console.log(data);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(errorThrown);
console.log(textStatus);
console.log(jqXHR);
}
});
Свойство 'dataType' - это ожидаемый тип данных ** response **, а не запрос. Если вы оставите его пустым, в нем используется «наилучшее предположение» по умолчанию, в результате чего jQuery пытается угадать тип в зависимости от формата ответа. –
Если я использую другой тип данных, чем сценарий, пароль не отправляется на сервер. – user1313691
если я использую другой тип данных, чем ** script ** пароль не отправляется на сервер. заголовок запроса ** Cookie: pwd = xxxx ** отправляется только тогда, когда я выбираю dataType: «script» в вызове ajax. – user1313691