如何利用jQuery post传递含特殊字符的数据

 更新时间:2015年10月19日 09:35:26   作者:大涛哥  
在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");
    }

其中StudentInfo定义如下:

  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>

    调整的地方主要有两点:

对要传递的json数据作序列化JSON.stringify
在$.ajax请求中新增参数:contentType:'application/json'

好了,以上就是本文的全部所述,希望大家喜欢。

相关文章

  • 初学者必看的Ajax总结篇

    初学者必看的Ajax总结篇

    本文主要总结整理Ajax的一些常用的基础知识,非常适合初学者。需要的朋友可以参考借鉴,下面来一起学习学习吧。
    2017-01-01
  • jquery ajax实现文件上传功能实例代码

    jquery ajax实现文件上传功能实例代码

    这篇文章主要介绍了jquery ajax实现文件拖拽上传功能的实例代码,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-04-04
  • Fly拦截全局Ajax请求的方法

    Fly拦截全局Ajax请求的方法

    这篇文章主要介绍了Fly拦截全局Ajax请求的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • js统计网页在线时间的脚本

    js统计网页在线时间的脚本

    分析用户行为时,某网页停留时间可能会是个可参考的数据 由后台分析函数取一个合理值作为在线时间
    2008-04-04
  • Ajax返回数据之前的loading等待效果

    Ajax返回数据之前的loading等待效果

    我们通过ajax请求,向后台传递参数,然后后台经过一系列的运算之后向前台返还数据,我希望在等待数据成功返还之前可以展示一个loading.gif图。接下来通过本文给大家分享Ajax返回数据之前的loading等待效果,需要的朋友可以参考下
    2017-08-08
  • 反向Ajax 30分钟快速掌握

    反向Ajax 30分钟快速掌握

    这篇文章主要介绍了反向Ajax 30分钟快速掌握的相关资料,需要的朋友可以参考下
    2016-07-07
  • 浅析巧用Ajax的beforeSend提高用户体验

    浅析巧用Ajax的beforeSend提高用户体验

    下面小编就为大家带来一篇浅析巧用Ajax的beforeSend提高用户体验。小编觉得挺不错的,现在分享给大家,也给大家做个参考
    2016-04-04
  • 关于Ajax异步请求后台数据进行动态分页功能

    关于Ajax异步请求后台数据进行动态分页功能

    这篇文章主要介绍了Ajax异步请求后台数据进行动态分页功能,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2018-06-06
  • Ajax传Jsond Mvc后台接收实例

    Ajax传Jsond Mvc后台接收实例

    Ajax传Jsond Mvc后台接收,前后台实现代码如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助
    2013-06-06
  • Jquery $.ajax函数外的一段代码的执行顺序

    Jquery $.ajax函数外的一段代码的执行顺序

    调用了JQuery的异步函数$.ajax ,然后在$.ajax函数外之后又有一段Jquery 代码。每次都是在$.ajax之后的代码先执行
    2014-06-06

最新评论