In recent years, serverless computing has become one of the popular approaches to developing and running applications, allowing developers to run their code directly in the cloud without worrying about managing server infrastructure. One of the critical aspects of serverless computing is offloading approaches, which refers to transferring computing tasks or data to other locations to reduce the processing load of local devices. Considering the use of different approaches and strategies in the offloading process in serverless computing, not choosing the right approach can cause the unloading process to face challenges such as network delay, security problems, and complexity of resource management. Therefore, a detailed understanding of the loading approaches used in serverless computing can significantly reduce the challenges in this process. This paper provides a comprehensive and systematic review of various commonly used offloading approaches in serverless computing in the form of a taxonomy. The applied approaches are based on machine learning (ML), frameworks, in-network computing (INC), and heuristics. This classification is done to identify the strengths and weaknesses of each of these approaches to help developers improve the productivity and efficiency of their systems by choosing the best offloading strategies. Another goal of this article is to identify and analyze open challenges and issues related to the offloading process in serverless computing to propose effective solutions to these challenges and provide future research directions. Finally, this article expands the existing knowledge in the offloading field and creates new fields for research and development.