Company logo
  • Jobs
  • Bootcamp
  • About Us
  • For professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
    • Bootcamp
  • For business
    • Home
    • Our process
    • Plans
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Calculator

0

73
Views
What to return after Ajax call asp.net

After ajax call is completed and the model is posted successfully to the controller, what should the controller return?

In my case, I just want to add an item to the wishlist and that's it, no redirect.

9 months ago · Santiago Trujillo
2 answers
Answer question

0

Controller can return a message or somethingelse for sure that your action did successful

9 months ago · Santiago Trujillo Report

0

This question you need to know two points, 1.What type can asp.net core return? 2.What type can ajax can receive.

First, Asp.net core can return the following types: Specific type, IActionResult, ActionResult<T>, Learn more details in this document.

Second, Ajax can send and receive information in various formats, including JSON, XML, HTML, and text files.

From your question, I think you want to recive the model from controller and add it to the wishlist in the view. So, In my opinion, You can directly return the specified model, Asp.net core will serialize models to Json Automatically. Then you can use it in your ajax success method.

simple demo:

<div class="text-center" id="Test">
    <h1 class="display-4">Welcome</h1>
    <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
</div>

<button onclick="GetDetails(2)">submit</button>

@section Scripts{
    <script>
        function GetDetails(id){
             var postData = {
                    'ProductId': id,    
                };
            $.ajax({          
                type: "Post",
                url: "/Home/privacy",
                data: postData,              
                success: function (res) { 
                    document.getElementById("Test").innerHTML = res["name"];
                }
     });
                
    }
</script>
}

Controller

List<Student> students = new List<Student>()
            {
                new Student()
                {
                    Id="1",
                    Name="Jack",
                    Country="USA"
                },
                new Student()
                {
                    Id="2",
                    Name="Nacy",
                    Country="Uk"
                },
                new Student()
                {
                    Id="3",
                    Name="Lily",
                    Country="Cn"
                }
            };

[HttpPost]
        public Student Privacy(string ProductId)
        {
            var result = students.Where(x => x.Id == ProductId).FirstOrDefault();
            return result;
        }
9 months ago · Santiago Trujillo Report
Answer question
Find remote jobs