0

私は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が必要です。これを取得するにはどうすればよいですか?

4

1 に答える 1

0

URL エンコーディング関数を使用する必要があります。自分で行ったことはありませんが、役立つ記事を見つけましたhttp://www.w3schools.com/tags/ref_urlencode.asp

于 2012-08-01T06:56:52.193 に答える