jquery では、通常 $.ajax または $.post を使用してデータ転送処理を解決しますが、通常、ここでは「<」などの特殊文字を渡すことは許可されません。この記事は、そのような文字を渡す方法を解決するのに役立ちます。興味のある友達は一緒に文字データを見てみましょう
jQueryでは通常、データ転送処理に$.ajaxや$.postを使用しますが、「<」などの特殊文字は通常使用できません。ここに転送されます。この記事では、このような特殊文字を含むデータを渡す方法を紹介します。
1. ページと制御コードを準備します
ページのコードは次のとおりです:
<script type="text/javascript"> $(function() { $("#btnSet").click(function() { var a = $("#txtValue").val(); var data = { Name: a }; alert(data); $.ajax({ url: '@Url.Action("MyTest")', type: 'post', dataType: 'json', data: data, }); }); } ); </script> <h2>Index</h2> <input type="text" id="txtValue"/><input type="button" value="设置" id="btnSet"/>
背景のコードは次のとおりです:
public ActionResult MyTest(StudentInfo stu) { return Content("OK"); }
ここでfoは定義されています次のように:
public class StudentInfo { public string Name { get; set; } }
2. データ転送のテスト
通常のデータを転送すると、すべて正常に動作します。
ただし、特殊文字を含むデータを入力した場合、正常にバックグラウンドに渡すことができません。
3. 処理方法
特殊文字を確実に渡す場合は、jQuery コードを調整する必要があります。 調整されたリクエスト コードは次のとおりです。
<script type="text/javascript"> $(function() { $("#btnSet").click(function() { var a = $("#txtValue").val(); var data = JSON.stringify({ Name: a }); alert(data); $.ajax({ url: '@Url.Action("MyTest")', type: 'post', dataType: 'json', data: data, contentType: 'application/json' }); }); } ); </script>
調整のポイントは主に 2 つです。
正しく、渡された json データは JSON.stringify でシリアル化されます
$.ajax リクエストに新しいパラメーターを追加します: contentType:'application/json'
上記は私が皆さんのためにまとめたものです。未来のみんな。
関連記事:
以上がjQuery post を使用して特殊文字を含むデータを渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。