Maison  >  Article  >  interface Web  >  Comment utiliser la publication jQuery pour transmettre des données contenant des caractères spéciaux

Comment utiliser la publication jQuery pour transmettre des données contenant des caractères spéciaux

亚连
亚连original
2018-05-24 16:05:572203parcourir

Dans jquery, nous utilisons généralement $.ajax ou $.post pour résoudre le traitement du transfert de données, mais les caractères spéciaux ne sont généralement pas autorisés ici, tels que : "<". passez ceci Pour les données contenant des caractères spéciaux, les amis intéressés devraient y jeter un œil

Dans jQuery, nous utilisons généralement $.ajax ou $.post pour le traitement du transfert de données, mais les caractères spéciaux ne peuvent généralement pas être transférés ici, comme comme : " &Lt ;". Cet article explique comment transmettre ce type de données contenant des caractères spéciaux.

1. Préparez la page et le code de contrôle

Le code de la page est le suivant :

<script type="text/javascript">
  $(function() {
      $("#btnSet").click(function() {
        var a = $("#txtValue").val();
        var data = { Name: a };
        alert(data);
        $.ajax({
          url: &#39;@Url.Action("MyTest")&#39;,
          type: &#39;post&#39;,
          dataType: &#39;json&#39;,
          data: data,
        });
      });
    }
  );
</script>
<h2>Index</h2>
<input type="text" id="txtValue"/><input type="button" value="设置" id="btnSet"/>

Le code d'arrière-plan est le suivant :

  public ActionResult MyTest(StudentInfo stu)
    {
      return Content("OK");
    }

où StudentInfo est défini comme suit :

  public class StudentInfo
  {
    public string Name { get; set; }
  }


2. Test de transfert de données

Lorsque nous transmettons des données ordinaires , tout est normal.

Mais lorsque des données contenant des caractères spéciaux sont saisies, elles ne peuvent pas être transmises normalement en arrière-plan.

3. Méthode de traitement

Si vous êtes sûr de transmettre des caractères spéciaux, vous devez ajuster le code jQuery Le code de requête ajusté est le suivant :

<script type="text/javascript">
  $(function() {
      $("#btnSet").click(function() {
        var a = $("#txtValue").val();
        var data = JSON.stringify({ Name: a });
        alert(data);
        $.ajax({
          url: &#39;@Url.Action("MyTest")&#39;,
          type: &#39;post&#39;,
          dataType: &#39;json&#39;,
          data: data,
          contentType: &#39;application/json&#39;
        });
      });
    }
  );
</script>

Il y a deux ajustements principaux :

Sérialiser les données json à transmettre JSON.stringify
Nouveau dans la requête $.ajax ajouté paramètres : contentType:'application/json'

Ce qui précède est ce que j'ai compilé pour tout le monde. J'espère que cela sera utile à tout le monde à l'avenir.

Articles connexes :

Les données de soumission asynchrone Ajax renvoient un exemple de valeur d'analyse du problème de nouvelle ligne

La requête Ajax renvoie des données Problème de séquence analyse

Solution pour éviter l'envoi répété de requêtes Ajax

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!

Déclaration:
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