Underscore
's property
или propertyOf
:
var test = {
foo: {
bar: {
baz: 'hello'
}
}
}
var string = 'foo.bar.baz';
// document.write(_.propertyOf(test)(string.split('.')))
document.write(_.property(string.split('.'))(test));
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"></script>
Удача ...
Что произойдет, если браузер получит ответ перенаправления на запрос ajax?
Если сервер отправляет перенаправление (например, ответ 302 плюс заголовок Location), перенаправление автоматически следует браузер. Ответ на второй запрос (при условии, что он также не является другим перенаправлением) - это то, что доступно вашей программе.
На самом деле у вас нет возможности обнаруживать произошел ли ответ 302. Если перенаправление 302 приводит к 200, то ваша программа действует одинаково, как если бы исходный запрос приводил непосредственно к 200.
Это был как мой опыт, так и поведение , вызванное в spec .
2016 Обновление: прошло время, и хорошей новостью является то, что новый fetch () API предложил предложить более мелкозернистый элемент управления о том, как обрабатываются переадресации , с поведением по умолчанию, аналогичным XHR. Тем не менее, он работает только там, где fetch () реализован изначально . Полиморфные версии fetch () , которые основаны на XHR- , продолжают иметь ограничения XHR . К счастью, поддержка родного браузера , кажется, хорошо округляется.
После этого ajax-request
будет перенаправлен afaik. Фактический контент (.responseText
, .responseXML
) будет содержимым с страницы, на которую вы перенаправлены.
Возможно, вы сможете перехватить перенаправление (status-code
, location-header
) в readyState
2 или 3, но не уверен в этом.
getAllResponseHeaders()
равно.
– sebastianwagner
24 October 2014 в 13:03