encodeURIComponent怎么用?

问题描述

我想把varstr中的参数通过ajax传到后台中,但是如果内容里有换行或者tab的时候就是提示传入的对象无效,应为“:”或“}”。我从网上查到使用encodeURIComponent,但是如果varjsoncotent=encodeURIComponent(str);那么在后台怎么才能解析其中的参数呢?前台后后台代码如下,请各位指点一下-------------------------------------------------------------------------------------------------------------------------------------------------------------------case"update":{vareditor=$('#elm1').xheditor({tools:'full',skin:'default'});varcountert=editor.getSource();if(imgPath==""){imgPath=null;varstr='{"cTitle":"'+$("#title").val()+'","cContent":"'+countert+'","cImage":"'+imgPath+'","id":"'+thisID+'"}';}else{varstr='{"cTitle":"'+$("#title").val()+'","cContent":"'+countert+'","cImage":"'+imgPath+'","id":"'+thisID+'"}';}alert(jsonContent);$.ajax({//一个Ajax过程type:"post",//以post方式与后台沟通contentType:"application/json",url:"AfterService.aspx/upData",//与此php页面沟通dataType:'json',//从php返回的值以JSON方式解释data:str,error:function(msg){alert(msg.responseText);},success:function(mag){varstr=mag.d;varjson=JSON.parse(str);alert(json.msg);}});}break;------------------------------------------------------------------------------------------------------------------------------------------------------------------------publicstaticstringupData(stringcTitle,stringcContent,stringcImage,stringid){DataBasedb=newDataBase();intID=Convert.ToInt32(id);stringsql="updateContentsetcTitle=@cTitle,cContent=@cContent,cImgPatch=@cImagewhereid=@id";SqlParameter[]sq=newSqlParameter[4];sq[0]=newSqlParameter("@cTitle",cTitle);sq[1]=newSqlParameter("@cContent",cContent);sq[2]=newSqlParameter("@cImage",cImage);sq[3]=newSqlParameter("@id",ID);if(db.runSql(sql,sq)!=0){return"{"msg":"保存成功!"}";}else{return"{"msg":"保存失败!"}";}}

解决方案

解决方案二:
Server.UrlDecode(str);
解决方案三:
弄清楚后台接收需要什么样的格式,再来说前台如何生成.encodeURIComponent通常用来对URL中附带的参数值进行编码,后台会自动解码无需另外的步骤.

时间: 2024-09-20 11:39:26

encodeURIComponent怎么用?的相关文章

encodeURIComponent 方法

encode   将文本字符串编码为一个统一资源标识符 (URI) 的一个有效组件. encodeURIComponent(encodedURIString) 必选的 encodedURIString 参数代表一个已编码的 URI 组件. 说明 encodeURIComponent 方法返回一个已编码的 URI.如果您将编码结果传递给 decodeURIComponent,那么将返回初始的字符串.因为 encodeURIComponent 方法对所有的字符编码,请注意,如果该字符串代表一个路径,

escape,encodeURI,encodeURIComponent函数比较

比较|函数|escape|encodeuri|encodeuricomponent js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1.  传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断.                            例如:<script language="java

Java中URLEncoder.encode和encodeURIComponent的区别

背景介绍: 1)encodeURIComponent和decodeURIComponent在前端使用 2)URLEncoder.encode和URLDecoder.decode在后台使用 知识点: 1)encodeURIComponent和URLEncoder.encode的区别在于前者对下面五个符号不编码 ! %21 ' %27 ( %28 ) %29 ~ %7E 2)decodeURIComponent和URLDecoder.decode暂时还看不出有何区别 解释: 前后台交互传输数据的过程

在asp中使用js的encodeURIComponent方法

大家知道,在js里encodeURIComponent 方法是一个比较常用的编码方法,但因工作需要,在asp里需用到此方法,查了好多资料,没有很好的方法,最后用了下面这个方法,基本解决了问题. <% Function aspEncodeURIComponent(sStr) aspEncodeURIComponent = myEncodeURIComponent(sStr) %> <script language="javascript" type="text

危险的encodeURIComponent

javascript中的 encodeURIComponent() 方法很常用,MDN里在描述这个方法的时候,有提到这个异常: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent 在下面这个case中,node.js里被发现一个严重bug: http://cnodejs.org/topic/4fd6b7ba839e1e581407aac8 当时所有c

jquery 字符UrlEncode encodeURIComponent

var atopic=encodeURIComponent($("#Text1").val()); 注:decodeURI 解码 encodeURI 编码

c#实现Javascript的encodeURIComponent()函数

原文  c#实现Javascript的encodeURIComponent()函数 国内外各搜索引擎,均用JavaScript的encodeURIComponent()函数对搜索关键字进行编码,终于找到了.net下的实现方法.  .net采用 System.Web;   UrlDecode(String, Encoding) 使用指定的编码对象将 URL 编码的字符串转换为已解码的字符串.   Encoding 能过查看 http://msdn.microsoft.com/zh-cn/libra

js中escape,encodeURI,encodeURIComponent 区别(转)

js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1. 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断. 例如:<script language="javascript">document.write('<a href="http://passport.baidu

js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解_javascript技巧

JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数: unescape,decodeURI,decodeURIComponent . 下面简单介绍一下它们的区别 1 escape()函数 定义和用法 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串. 语法 escape(string) 参数 描述 string 必需.要被转义或编码的字符串. 返回值 已编码的 st

深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例_javascript技巧

JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape, decodeURI, decodeURIComponent . 下面简单介绍一下它们的区别: 1 escape()函数 定义和用法 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串. 语法 escape(string) 参数  描述 string  必需.要被转义或编码的字符串. 返回值 已编码