У вас есть дополнительные { }
после =>
, создавая таким образом блок и область, просто удалите их и тоже ;
, так как это делает это оператором. В противном случае передайте ему аргументы, используйте это
const memoizedCallback = useCallback(
() => doSomething(a, b)
,
[a, b]
);
В нем говорится undefined
, потому что область действия => { }
не получает a,b
. Надеюсь, это поможет.
Сделайте страницу XMLHttpRequest к самому себе (используя location.href
или документ. URL
) и проверьте полученный HTTP-статус. Мне кажется, это довольно портативный способ. Я не понимаю, почему вы так поступили;)
Почему javascript должен это знать? Похоже, было бы разумнее просто встроить его на пользовательскую страницу 404. Нет необходимости определять HTTP-статус родительской страницы (я не думаю, что это возможно - возможно, выполняя вызов ajax для себя после каждой загрузки, но это просто глупо). если код выполняется, гарантированно будет 404
Страница A может быть Javascript, который загружает страницу B через AJAX и отображает ее с document.write, или во всплывающем окне, или как-то еще.
В такой стратегии вы можете проверять код возврата на успех / неудачу в обработчике AJAX и отправлять разные вещи в окно вывода в зависимости от статуса.
Большинство Ajax библиотеки предоставляют способ проверить код возврата ....
См., например, «transport.status» с Ajax.Request в Prototype.js
Недавно я нашел, как это сделать (кредиты для: hunlock )
AJAX.getAllResponseHeaders () - возвращает в виде строки все текущие заголовки в использовании. AJAX.getResponseHeader ("headerLabel") - возвращает значение запрошенный заголовок.