2017-09-19 16 views
0

J'ai un noeud final ASP.NET WebAPI qui accepte un fichier JSON à transmettre à une autre API tierce. J'ai un problème affichant HTML en tant que valeur JSON comme ci-dessous:Erreur 403 lors de la publication d'un code HTML en tant que valeur JSON

var attr1 = {}; 
attr1.attributeid = 1234; 
attr1.attributevalue = '<div>test</div>'; 
output.attributes.push(attr1); 

Le résultat est une erreur HTTP 403.

Cependant, en poussant des chaînes normales JSON, il fonctionne, HTTP 200.

var attr1 = {}; 
attr1.attributeid = 1234; 
attr1.attributevalue = 'test'; 
output.attributes.push(attr1); 

Le backend WebAPI est sur .NET 4.6.2, nécessite OAuth 2.0 jetons au porteur à chaque requête. D'autres choses de la note, CORS est activée et l'action du contrôleur API ressemble à ceci:

 public async Task<IHttpActionResult> Post([FromBody] Email email) 
     { 
      var emailResult = new Email(); 
      try 
      { 
       using (var svc = new EmailService()) 
       { 
        emailResult = await svc.SendTransactionalEmail(email); 
       } 

       if (emailResult != null) 
       { 
        if (emailResult.Success) 
        { 
         return Ok("Transactional email successfully sent!"); 
        } 
        else 
        { 
         return BadRequest(emailResult.Result); 
        } 
       } 
       else 
       { 
        return BadRequest(); 
       } 
      } 
      catch (Exception e) 
      { 
       return InternalServerError(e); 
      } 
     } 

Répondre

0

Essayez d'échapper à la barre oblique dans le attr1.attributevalue comme celui-ci '<div>test<\/div>'

Cela pourrait aider! :)