jquery获取html页面参数乱码,JS或Jquery获取浏览器URL的参数值 汉字值乱码 并转码...

4ecd281cc1b046dbd66ce12515d4fe72.png

1、获取url很简单,代码如下:window.location.href;

2、jquery获取url参数比较复杂,要用到正则表达式,所以学好javascript正则式多么重要的事情

首先看看单纯的通过javascript是如何来获取url中的某个参数:

//获取url中的参数

function getUrlParam(name) {

var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象

var r = window.location.search.substr(1).match(reg);  //匹配目标参数

if (r != null)  return decodeURI(r[2]);  return null; //返回参数值,红色部分decodeURI处理乱码用

}

我们要获取aa的值,可以这样写:

var aa = getUrlParam('aa');

明白了javascript获取url参数的方法,我们可以通过这个方法为jquery扩展一个方法来通过jquery获取url参数,下面的代码为jquery扩展了一个getUrlParam()方法

e2aff9c1c5c6468076152d20c06ee421.gif(function ($) {

$.getUrlParam = function (name) {                    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");                    var r = window.location.search.substr(1).match(reg);                    if (r != null) return unescape(r[2]); return null;

}

})(jQuery);

e2aff9c1c5c6468076152d20c06ee421.gif

为jquery扩展了这个方法了之后我们就可以通过如下方法来获取某个参数的值了:

var aa = getUrlParam('aa');

3.如果本地正常,但服务器乱码。需设置服务器的配置文件(而且服务器配置好后,页面不用再做任何转码处理)。

找到服务的配置文件:/usr/local/tomcat7/conf/server.xml

找到:

connectionTimeout="20000"

redirectPort="8443"/>

改为:(改为项目的字符集后,以上的页面就不用做任何的转码处理了)

connectionTimeout="20000"

redirectPort="8443" useBodyEncodingForURI="true" URIEncoding="UTF-8"/>

本文由站长原创或收集,不代表本站立场,如若转载,请注明出处:http://www.swzhinan.com/post/68.html

SQL Server中,当你尝试将一个字符串二进制数据插入到一个字段中,而该字段的长度不足以容纳整个数据时,会出现“将截断字符串二进制数据”的错误。这个错误通常是由于以下几种原因引起的: 1. **字段长度不足**:你尝试插入的字符串长度超过了目标字段的定义长度。例如,目标字段定义为`VARCHAR(10)`,而你尝试插入一个长度为20的字符串。 2. **数据类型不匹配**:你尝试插入的数据类型与目标字段的数据类型不兼容。例如,目标字段是`INT`类型,而你尝试插入一个字符串。 3. **数据转换问题**:在数据插入过程中,数据类型转换导致了数据截断。例如,将`NVARCHAR`类型的数据插入到`VARCHAR`类型的字段中。 要解决这个问题,你可以采取以下几种措施: 1. **增加字段长度**:检查目标字段的定义长度,并根据需要增加长度。例如,将`VARCHAR(10)`改为`VARCHAR(50)`。 2. **检查数据类型**:确保插入的数据类型与目标字段的数据类型兼容。如果需要,进行适当的数据类型转换。 3. **数据验证**:在插入数据之前,验证数据的长度和类型,确保它们符合目标字段的定义。 例如,假设你有一个表`Employees`,其中有一个字段`Name`定义为`VARCHAR(10)`,而你尝试插入一个长度为20的字符串: ```sql INSERT INTO Employees (Name) VALUES ('ThisIsAVeryLongName'); ``` 这个操作会触发“将截断字符串二进制数据”的错误。要解决这个问题,你可以增加`Name`字段的长度: ```sql ALTER TABLE Employees ALTER COLUMN Name VARCHAR(50); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值