首页 > 其他分享 >jQuery-ajax

jQuery-ajax

时间:2023-07-17 17:46:26浏览次数:25  
标签:jQuery 返回 false String ajax contentType

jQuery-ajax常见属性

contentType

含义:发送信息至服务器时的内容编码类型

类型:StringBoolean

默认值:application/x-www-form-urlencoded; charset=UTF-8;默认值适合大多数情况

注意:jQuery-1.6之后可以将此属性设为 false,当该属性为 false 时,即告诉服务器不设置任何一种 contentType

dataType

含义:预期服务器返回的数据类型

类型:String

默认值:如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,可用值:
xml:返回 XML 文档,可用 jQuery 处理
html:返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行
script:返回纯文本 javascript 代码;不会自动缓存结果;除非设置了 cache 参数
json:返回 json 数据
jsonp:JSONP 格式
text:返回纯文本字符串

processData

含义:发送 data 至服务器时将 data 进行转化

类型:Boolean

默认值:true;默认情况下,通过 data 选项传递至服务器的数据,如果是一个对象(技术上讲只要不是字符串),都会默认转换成一个查询字符串,以配合默认的 内容类型(contentType) application/x-www-form-urlencoded;如果要发送 DOM 数信息或其它不希望转换的信息(例如 file),请设置为 false

jQuery-ajax 常见问题

在使用 jQuery-ajax 实现异步文件上传时要注意,要将 contentTypeprocessData 属性设置为 false;否则服务器接收不了上传的文件

示例

$("#ajax_upload").click(function () {
            var formData = new FormData();
            formData.append("file",document.getElementById("file0").files[0]);
            $.ajax({
                url : "ajaxUpload",
                data : formData,
                type : "post",
                contentType:false,
                processData:false,
                success : function(response){
                    console.log(response);
                }
            });
        });

注意:

  1. contentType 默认值为 application/x-www-form-urlencoded; charset=UTF-8,而 文件上传contentType 应该为 multipart/form-data,将
    contentType 设置为 false 后,服务器检测到上传的是文件类型时,会自动将 Requestheaders 中的 contentType 设置为 multipart/form-data
  2. 上传文件时向服务器传输的是文件类型,此时不需要将数据转换为查询字符串,就保持为文件本身,因此要将 processData 设置为 false
  3. jQuery 的 id 选择器 获取不了 文件对象(不知怎么回事),使用原生 javascript 的 document.getElementById 可以获取
  4. 在 Controller 方法中返回 String 时要注意,若返回的字符串 包含中文,则需要在 @RequestMapping 注解中加上 produces = {"text/html;charset=UTF-8;"},否则会出现中文乱码
 @RequestMapping(value = "ajaxDemo",produces = {"text/html;charset=UTF-8;"})
    @ResponseBody
    public String ajaxDemo(String username){
        System.out.println(username);
        return username;
    }
  1. Controller 中的方法返回是 String 时,jQuery-ajax 中的 dataType 属性应该设置为 text,而不能设置为 json
  2. SpringMVC 中有一系列 HttpMessageConverter 来处理用 @ResponseBody 注解的返回值,如返回 List 或其它的类型则使用 MappingJacksonHttpMessageConverter 来处理;返回 String 时,则使用 StringHttpMessageConverter 来处理,而 StringHttpMessageConverter 使用的字符集是 iso-8859-1,而且是 fianl 的。所以当返回 text 有中文时会出现乱码

标签:jQuery,返回,false,String,ajax,contentType
From: https://www.cnblogs.com/elementplay/p/17560750.html

相关文章

  • jquery 遍历第几个下标元素显示
    使用JQuery遍历第几个下标元素显示的步骤在本文中,我将介绍如何使用JQuery来遍历并显示特定下标的元素。我们将一步步进行,让你理解整个过程。步骤概览下表展示了实现目标的步骤概览:步骤描述步骤1选择要遍历的元素步骤2使用.each()方法遍历元素步骤3判断当前元......
  • jquery 遍历name
    使用jQuery遍历name的方法简介在本文中,我将向你介绍如何使用jQuery遍历name属性。首先,让我们简要了解一下整个过程的流程,然后逐步指导你完成每一步所需的代码。流程以下是遍历name属性的简单步骤:步骤描述1选择所有带有name属性的元素2遍历每个元素3执行所需......
  • jquery video ended
    如何实现"jqueryvideoended"简介在这篇文章中,我将向你介绍如何使用jQuery来实现"jqueryvideoended"功能。这个功能可以用来监测当一个视频播放结束时触发的事件。整体步骤下面是实现"jqueryvideoended"的整体流程:步骤描述步骤1引用jQuery库步骤2......
  • jquery ul 删除指定li
    jQuery删除指定li在Web开发中,经常会用到动态修改和操作HTML元素的需求。而jQuery是一个非常流行的JavaScript库,它提供了简洁易用的API,使得操作DOM元素变得更加容易。本文将介绍如何使用jQuery删除指定的<li>元素。1.引入jQuery库在使用jQuery之前,需要先引入jQuery库文件。可以......
  • jquery target
    jQuerytarget介绍在使用jQuery进行开发时,了解如何选择和操作元素是非常重要的。jQuery提供了许多方法来选择和操作元素,其中之一就是使用目标选择器(targetselector)。目标选择器是一种用来选择具有特定属性或特定属性值的元素的方法。通过使用目标选择器,我们可以非常方便地选......
  • 【11.0】Ajax之基本语法
    【一】前后端传输数据的编码格式(contentType)主要研究POST请求数据的编码格式因为GET请求数据就是直接放在url后面的可以朝后端发送post请求的方式form请求ajax请求【1】form表单前后端传输数据的格式urlencodedformdatajson【2】编码格式form表......
  • 【10.0】Ajax之引入
    【一】Ajax简介【1】精髓精髓:异步提交/局部刷新动态获取用户名,实时跟后端确认并将结果展示给前端【2】发送请求的方式向后端发送请求的方式浏览器地址直接url回车GET请求a标签的href属性GET请求form表单GET请求/POST请求AjaxGET请求/POST请求......
  • jQuery插件之jquery.spinner数字智能增减插件
    jQuery插件之jquery.spinner数字智能增减插件参考地址:http://www.helloweba.com/view-blog-282.html左右加减数字像京东提交订单时目前使用的是左右加减数字的效果,这个效果直接明了,操作简单。我们使用jquery.spinner.js插件实现左右加减数字,调用方法非常简单,请看演......
  • 【一】Ajax与异步编程之web服务端
    【一】Ajax与异步编程之web服务端Ajax属于客户端网络技术,属于js范畴。基于aiohttp模Ajax与异步编程之web服务端块构建一个提供http协议的web服务器,并准备数据给客户端请求使用。pipinstallaiohttppipinstallaiohttp_corsserver.pyfromaiohttpimportwebimporta......
  • 【三】Ajax与异步编程之数据传输格式ajax
    【三】Ajax与异步编程之数据传输格式ajax【1】什么是ajaxajax,一般中文称之为:"阿贾克斯",是英文“AsyncJavascriptAndXml”的简写译作:异步js和xml传输数据技术。ajax的作用:ajax可以让js代替浏览器向服务端程序发送http请求,与服务端进行数据通信,在用户不知道的情况下......