我正在开发一个android应用程序,用于通过GPRS和SMS(通过短信网关)将一些数据发送到服务器端。现在我正在尝试首先通过GPRS发送数据,实际上我们的短信网关服务提供商已经给出了如何发送数据的格式网关。格式在数据之间有空格。在这种情况下,当我要发送这种格式的数据时,url将空格编码为“+”符号,但我想将空格编码为“%20 ",因为 url 不支持这种方式,当我要在 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)
}
}
}
网址是这样的:
http://aaa.com/test/webservice.php?callback=jQuery16006898061116226017_1343803442450&type=VIPATT&message=MRCC+VIPATT+RSA+2&_=1343803455743:1
在上面的网址中,您可以看到属性之间的 + 符号。但我想要 %20 而不是 + 符号。如何获得这个?