2014-09-06 1 views
0

J'utilise summernote et je souhaite envoyer une partie des données au contrôleur; voici comment les données ressembleEnvoi de données HTML au contrôleur via jQuery

<p>This is a sample test.&nbsp;</p> 

Voici le code que j'utilise

var sHTML = $('#summernote').code(); 
    $.ajax({ 
     url: "Home/GetText", 
     data: sHTML, 
     type: 'POST', 
     cache: false, 
     contentType: false, 
     processData: false, 
     success: function (vaildText) { 
      // So something 
     }, 
     error: function() { 
      alert('error'); 
      // handle error 
     } 
    }); 

Accueil Contrôleur

[HttpPost] 
    [ValidateInput(false)] 
    public ActionResult GetText(string sHTML) 
    { 
     // doing something 

     return Json(vaildText); 
    } 

mais SHTML sur le contrôleur de la maison est NULL donner. Où je me trompe? est-ce la bonne façon de publier des données HTML sur le contrôleur?

Stack demandé par Arun

Request URL:http://localhost:23680/Home/GetText 
Request Method:POST 
Status Code:200 OK 
Request Headersview source 
Accept:*/* 
Accept-Encoding:gzip,deflate 
Accept-Language:en-US,en;q=0.8 
Connection:keep-alive 
Content-Length:15 
Content-Type:text/plain;charset=UTF-8 
Cookie:__AntiXsrfToken=9d34feb94ea546abb4f50eb7251b4e25 
Host:localhost:23680 
Origin:http://localhost:23680 
Referer:http://localhost:23680/ 
User-Agent:Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.103 Safari/537.36 
X-Requested-With:XMLHttpRequest 
**Request Payload** 
[object Object] 
+0

qu'est ce que c'est sHTML? ? comment la variable créée –

+0

est renvoyée par '$ ('# summernote'). code()' –

+0

@ArunPJohny

Ceci est un exemple de test.  

Zerotoinfinity

Répondre

1

Vous devez créer un param de demande appelée sHTML ans passer la valeur

var sHTML = $('#summernote').code(); 
$.ajax({ 
    url: "Home/GetText", 
    data: { 
     sHTML: sHTML 
    }, 
    type: 'POST', 
    cache: false, 
    contentType: false, 
    processData: false, 
    success: function (vaildText) { 
     // So something 
    }, 
    error: function() { 
     alert('error'); 
     // handle error 
    } 
}); 
+0

Je reçois toujours null dans le contrôleur. Est-ce que je dois changer la chaîne sHTML à quelque chose d'autre ou est-ce que je fais une autre erreur? – Zerotoinfinity

+0

pouvez-vous vérifier la demande en utilisant les outils de développement du navigateur et voir ce que les paramètres sont envoyés –

+0

dans la console, je ne reçois aucune erreur. Je ne sais pas comment vérifier les paramètres sur l'outil des développeurs (je google maintenant) – Zerotoinfinity

0

Juste essayez de supprimer contentType: false et ajouter datatype dans l'appel ajax comme indiqué: -

var sHTML = $('#summernote').code(); 
$.ajax({ 
    url: "Home/GetText", 
    data: { 
    sHTML: sHTML 
    }, 
    type: 'POST', 
    datatype:'JSON' 
    cache: false, 
    processData: false, 
    success: function (vaildText) { 
    // So something 
    }, 
    error: function() { 
    alert('error'); 
    // handle error 
    } 
}); 
Questions connexes