`

Jquery Ajax的url传递时间含空格不能提交解决方案

阅读更多
问题描述:在JS代码中访问地址,浏览器控制台报错。
1、错误访问代码如下:
function getTrackData(param) {
	var mydata = {};
	$.ajax({
		url : url + "/locate/track/" + param.carnumber + "/"+ param.starttime + "/" +param.endtime,
		dataType : 'json',
		type : 'get',
		async : true,
		success : function(data) {
			var item = eval(data);
			if (item)
				mydata = item;
		}
	});
	return mydata;
}

注:starttime,endtime的值格式数据如:"2013-06-07 10:00:00",url上面含参数js不会对url进行编码。
空格" "被浏览器编译成了%20代替,导致无法访问后台。
2、问题解决方案
function getTrackData(param) {
	var mydata = {};
	var starttime=param.starttime.replace(/ /g,"_");
	var endtime=param.endtime.replace(/ /g,"_");
	$.ajax({
		url : url + "/locate/track/" + param.carnumber + "/"+ starttime + "/" +endtime,
		dataType : 'json',
		type : 'get',
		async : true,
		success : function(data) {
			var item = eval(data);
			if (item)
				mydata = item;
		}
	});
	return mydata;
}


替换空格,以下字符都是可行的,如"_",",""&","|","@"等字符,英文字母例外。
3、mysql数据库查询

SELECT * FROM device_001 WHERE SERVICETIME BETWEEN '2013-06-07@00:00:00' AND '2013-06-07@08:12:30'
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics