2012-03-14 7 views
0

をコントローラに「<」記号を使用してデータを送信しない - $アヤックスPOSTコマンドをコントローラに「<」記号でいくつかのデータを送信するため、それはコントローラのメソッドを発射していません> **、

var xml="<user>"; 
    $.ajax({ 
       type: 'POST', 
       cache: false, 
       url: '<%=Url.Action("MethodName","ControllerName") %>', 
       data: { strXMLData: xml }, 
       success: function (data) {        
       } 
      }); 

は、私は私のコントローラメソッドに 「<ユーザー>」の文字列値を送信したいが、私は「** ユーザーのような文字列を使用するときには、コントローラのメソッドを発射しませんは<」記号またはこのため他のソリューション「....どのように私はしてデータを送信するために、データがコントローラのメソッドを送信することを意味しますか」?

+0

あなたは脱出しようとしていますそれは\ <?お返事のための –

+0

おかげで...私は、それはまた、働いていない..「/ 」のようにエスケープしてみましたが、私は、データが –

+0

たぶん使用してみてください..「/」記号で起こっている、「」は、それが働いてます意味与えます<の代わりに、<シンボル、および>ではなく>記号 – ttkalec

答えて

2

もしあなたが[ValidateInput(false)]とあなたのコントローラのアクションを飾ることを確認してください:あなたはASP.NET MVC 3を使用する場合

[ValidateInput(false)] 
public ActionResult MethodName(string strXMLData) 
{ 
    ... 
} 

が、それはあなたが必要とするすべてです。

あなたはASP.NET MVC 1または2を使用しますが、ASP.NET 4.0で実行している場合、この属性は効果を持っているあなたも、あなたのweb.configファイルに次のように設定する必要があります。

<httpRuntime requestValidationMode="2.0"/> 
+0

こんにちはダーリンディミトロフ、お返事をありがとう...その偉大な、私はそれが正常に動作します試してみました、私はframework4.0とMVC2 –

+0

を使用していますまた、これは私のMVC 4のアプリで働いていました。私は、ユーザーとの問題は、コピー/貼り付けの電子メールのテキストをノートフィールドに持っていました。これは、電子メールのヘッダー内の<>記号で問題を修正しました。 – Kevbo

関連する問題