2017-09-19 19 views
0

別のthird party APIにプッシュするJSONを受け入れるASP.NET WebAPIエンドポイントがあります。JSON値としてHTMLコードを投稿すると403エラーが発生する

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

結果はHTTP 403エラーです。次のようなHTMLをJSON値として送信する問題があります。

JSONなどの通常の文字列を押すと、それが動作し、HTTP 200

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

WebAPIのバックエンドは、.NET 4.6.2にあるが、OAuth 2.0のは、すべての要求にトークンベアラが必要です。ノートの他のものは、CORSが有効になっているとAPIコントローラのアクションは、次のようになります。

 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); 
      } 
     } 

答えて

0

これは役立つかもしれない。この'<div>test<\/div>'

ようattr1.attributevalueにスラッシュをエスケープお試しください! :)

関連する問題