私はGPRSとSMSを介して(smsゲートウェイを介して)サーバー側にデータを送信するためのAndroidアプリケーションを開発しています。現在、最初にGPRSを介してデータを送信しようとしていますが、実際には、smsゲートウェイサービスプロバイダーがデータの送信方法を指定しています。ゲートウェイ。フォーマットはデータの間に空白があります。この場合、このフォーマットのようなデータを送信する場合、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)
}
}
}
URLは次のようになります:
http://aaa.com/test/webservice.php?callback=jQuery16006898061116226017_1343803442450&type=VIPATT&message=MRCC+VIPATT+RSA+2&_=1343803455743:1
上記のURLでは、属性の間に+記号が表示されていますが、+記号の代わりに%20が必要です。これを取得するにはどうすればよいですか?