ajax提交请求为啥url要用这个函数encodeURI

参考如下:

如果你是通过form提交的,那就不需要用这个了。但是如果是你使用url的方式
例如:ajax提交到后台的,就需要对url进行encodeURI编码,
否则,会导致后台出现各种乱码,不加encodeURI的话,默认浏览器编码格式提交,
这样的话,浏览器不同,传到后台的值也就不同了,
所以建议使用encodeURI统一编码为utf-8的格式到后台,然后后台再处理再解码就行了,
如果后台是utf-8的,好像也可以不手动解码,
但是建议加上解码,避免发布环境不同的时候,会出现问题。

http://zhidao.baidu.com/link?url=tN7GJuUrAnBxlga5XCm2oz617WePAisX3VTvGsdSR46PWO74xdsf-7gunOwGbNi8j0sDkytb9b6eHqEGREpA8cwP3po5x4GffSKUCAotpxO

ajax提交请求为啥url要用这个函数encodeURI

时间: 2024-10-14 15:54:26

ajax提交请求为啥url要用这个函数encodeURI的相关文章

关于(textarea)回车换行符在提交请求(URL)时消失的处理

关于(textarea)回车换行符在提交请求(URL)时消失的处理,有时候,我们在页面输入查询时,想多个同时查询,然后,回车隔开每个查询的内容. 后台只能收到字符串,没有回车换行符. 如下面的一个请求 window.location = "${ctx}/post/cusQueryMailExport?customerId="+customerId +"&postTimeStart="+postTimeStart+"&postTimeEnd=

用get方式提交请求的url带有中文参数

又碰到JSP页面中文乱码问题,经过一次encodeURI处理后仍旧是乱码,后来经过两次encodeURI后正常显示中文 以前也碰到过同样的问题,没深究,这次网上搜集了一些资料,记录下来留做备份 _____________________________________________________ 前端JS: var name="中文"; var url = "demo.jsp?name=" +name; url=encodeURI(url); url=encod

Ajax提交请求模板

1 function methodName() { 2 var params = { 3 4 }; 5 var url = ''; 6 jQuery.ajax({ 7 type: 'POST', 8 contentType: 'application/x-www-form-urlencoded', 9 url: url, 10 data: params, 11 dataType: 'json', 12 success: function (data) { 13 14 alert("成功啦&quo

利用jquery进行ajax提交表单和附带的数据

1.获取表单数据: $form.serialize() 2.附带数据:input[status]=1 3.构造url链接:url = $form.attr('action') + '?input[status]=1' 3.ajax提交:$.post(url, post_data, function(res){xxx}, 'json'); 4.后台php接收 $_REQUEST['input'];(input是一个数组存放提交的所有数据)

Ajax异步请求的各种使用情况

首先介绍下Ajax的各项参数: url : 发送请求的地址  (默认: 当前页地址) data :发送到服务器的数据 (必须为 Key/Value 格式) type : 请求方式 ("POST" 或 "GET"), 默认为 "GET". dataType : 预期服务器返回的数据类型.如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如XML MIME类型就被识别为XML.在1.4中,JSON就会生成一个JavaSc

ajax同步请求与异步请求的区别

ajax 区别: async:布尔值,用来说明请求是否为异步模式.async是很重要的,因为它是用来控制JavaScript如何执行该请求. 当设置为true时,将以异步模式发送该请求,JavaScript代码将继续执行而不再等待响应,且必须使用一个事件处理函数来监控请求的响应. 如果将async设置为false,则将以同步模式发送该请求, JavaScript将等接收到响应后再继续执行剩余代码. 这意味着如果响应时间很长,则用户在浏览器收到响应之前是将无法与其交互的. 基于这个原因,Ajax应

解决YII提交POST表单出现400错误,以及ajax post请求时出现400问题

POST表单400错误: 正确做法: Add this in the head section of your layout: <?= Html::csrfMetaTags() ?> ---------------------------------  不推荐的做法,以下做法是取消CSRF令牌验证: Add this in your controller: public $enableCsrfValidation = false; 别的方法: 原来是csrf验证的问题,因为表单是自己写的,在Y

ajax防止重复提交请求1

ajax防止重复提交请求 A. 独占型提交 只允许同时存在一次提交操作,并且直到本次提交完成才能进行下一次提交. module.submit = function() {   if (this.promise_.state() === 'pending') {     return   }   return this.promise_ = $.post('/api/save') }B. 贪婪型提交 无限制的提交,但是以最后一次操作为准:亦即需要尽快给出最后一次操作的反馈,而前面的操作结果并不重要

ajax 异步请求四个步骤

ajax异步请求详解 ajxa定义:异步的JavaScript和xml 1.XMLHttpRequst的出现才有了异步处理 2.创建XmlHttpRequest对象 var request=new XMLHttpRequest(); 注意:如果要兼容IE6以下浏览器则需要编写如下代码 var request; if(window.XMLRequest){ request=new XMLRequestHttpRequest();  //IE7.IE8.360等 }else{ request=new