Когда сервер отвечает кодом 404, это означает, что документ, соответствующий URL-адресу запроса, не найден.
В своем вызове ajax об "Обновлении подарков" вы указываете URL как
url:base_url+'update_gifts_section'
Если base_url является статической переменной (означает, что она не изменяется по отношению к некоторому фрагменту кода), то URL-адрес всегда одинаков. Если запрос получает HTTP200, а другой - HTTP404, это означает, что проблема основана на сервере, а не на коде. (Который в основном ваш вопрос).
Чтобы решить эту проблему, было бы полезно добавить более подробную информацию о том, как вы вызываете этот метод, как называется url (наблюдение с помощью fiddler и т. Д.).