Maison > développement back-end > C++ > Comment effectuer des appels Ajax efficaces vers un contrôleur ASP.NET MVC ?

Comment effectuer des appels Ajax efficaces vers un contrôleur ASP.NET MVC ?

Susan Sarandon
Libérer: 2025-01-15 12:33:50
original
554 Les gens l'ont consulté

How to Make Effective Ajax Calls to an ASP.NET MVC Controller?

Un guide complet pour envoyer des requêtes Ajax aux contrôleurs ASP.NET MVC à l'aide de jQuery

Cet article vous expliquera comment utiliser jQuery pour lancer des requêtes Ajax vers les contrôleurs ASP.NET MVC, y compris l'implémentation de contrôleurs et de vues, ainsi que la communication client-serveur.

Fonctionnement du contrôleur

Votre contrôleur doit définir des actions pour gérer les requêtes Ajax. Dans l'exemple suivant, FirstAjax est une opération qui répond avec des données au format JSON :

1

2

3

4

<code class="language-csharp">public ActionResult FirstAjax()

{

    return Json("chamara", JsonRequestBehavior.AllowGet);

}</code>

Copier après la connexion

Voir

La vue

initialise jQuery et envoie une requête Ajax à l'action FirstAjax. La requête inclut un gestionnaire de réussite qui affiche la réponse dans une boîte d'alerte :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

<code class="language-javascript">$(document).ready(function () {

    var serviceURL = '/AjaxTest/FirstAjax';

 

    $.ajax({

        type: "POST",

        url: serviceURL,

        contentType: "application/json; charset=utf-8",

        dataType: "json",

        success: successFunc,

        error: errorFunc

    });

 

    function successFunc(data, status) {    

        alert(data);

    }

 

    function errorFunc() {

        alert('error');

    }

});</code>

Copier après la connexion

Plan d'amélioration

Notez que l'attribut data dans la requête Ajax d'origine pose des problèmes car votre contrôleur n'attend aucun paramètre. Supprimer cet attribut et utiliser la méthode @Url.Action résoudra le problème :

1

2

3

4

5

6

7

<code class="language-javascript">$.ajax({

    url: '@Url.Action("FirstAjax", "AjaxTest")',

    contentType: "application/json; charset=utf-8",

    dataType: "json",

    success: successFunc,

    error: errorFunc

});</code>

Copier après la connexion

Pour les requêtes POST qui incluent des données, vous devez modifier l'action du contrôleur pour accepter les paramètres et modifier la requête Ajax pour inclure les données :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<code class="language-csharp">// 控制器

[HttpPost]

public ActionResult FirstAjax(string a)

{

    return Json("chamara", JsonRequestBehavior.AllowGet);

}

 

// 视图

$.ajax({

    type: "POST",

    url: '@Url.Action("FirstAjax", "AjaxTest")',

    contentType: "application/json; charset=utf-8",

    data: { a: "testing" },

    dataType: "json",

    success: function() { alert('Success'); },

    error: errorFunc

});</code>

Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal