我正在开发一个Android应用程序,用于通过GPRS和SMS(通过短信网关)向服务器端发送一些数据。现在我首先尝试通过GPRS发送数据,实际上我们的短信网关服务提供商给了格式化如何将数据发送到网关。格式在数据之间有空格。在这种情况下,当我要发送这种格式的数据时,url将空格编码为" +"符号,但我想编码空间,如"%20",因为url不支持的方式,当我要给"%20"在网址直接而不是" +",它的工作正常,否则它将转到错误页面。那么如何改变这个?我想做什么?请帮帮我......?提前谢谢。
源代码:
function AttForm()
{
var att=$('#attnce').val();
var uname=window.localStorage.getItem('uname');
if(att==0){
alert("Select Attendance");
return false;
}
var message="MRCC";
message += " "+"VIPATT";
message += " "+uname;
message += " "+att;
var networkState = navigator.network.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.NONE] = 'No network connection';
if(states[networkState]==states[Connection.NONE]){
window.plugins.sms.send(09192939495,message,function(){
alert('Message sent successfully');
},
function (e) {
alert(e);
});
}
else{
$.ajax({
url:'http://aaa.com/test/webservice.php',
type:'POST',
data:{type:'VIPATT',message:message},
dataType:'jsonp',
jsonp:'callback',
success:successData,
error:function(){
alert("error")
}
});
function successData(data){
var response=data.message;
alert(response);
$('#att').hide();
$('#main_menu').delay(500).fadeIn(1000)
}
}
}
url是这样的:
http://aaa.com/test/webservice.php?callback=jQuery16006898061116226017_1343803442450&type=VIPATT&message=MRCC+VIPATT+RSA+2&_=1343803455743:1
在上面的网址中你可以看到属性之间的+符号。但是我想要%20而不是+ symbol.how才能得到这个?
答案 0 :(得分:0)
您需要使用URL编码功能。我自己没有这样做,但发现了一篇可能有用的文章http://www.w3schools.com/tags/ref_urlencode.asp