使用科尔多瓦在我的网络服务器上存储 GCM ID 不起作用


Storing GCM Ids on my webserver using cordova not working

我正在尝试在我的网络服务器上注册各种设备的GCM ID,以便我可以发送推送通知。我使用以下代码来获取设备的 GCM ID。

<script type="text/javascript">
                document.addEventListener("deviceready",onDeviceReady,false);
                function onDeviceReady(){
                console.log("Device Ready")
                var push = PushNotification.init({ "android": {"senderID":"989946143452"},
                "ios": {"alert": "true", "badge": "true", "sound": "true"}, "windows": {} } );
                push.on('registration', function(data) {
                console.log(data.registrationId);
                $("#gcm_id").html(data.registrationId);
                });
                push.on('notification', function(data) {
                console.log(data.message);
                alert(data.title+" Message: " +data.message);
                // data.title,
                // data.count,
                // data.sound,
                // data.image,
                // data.additionalData
                });
                push.on('error', function(e) {
                console.log(e.message);
                });
                }
</script>

然后我使用以下表单字段将 gcm id 从 javascript 解析为 html 表单字段,

<input type="hidden" name="gcm_id" id="gcm_id" required/>

表单字段似乎未获取gcm_id值。对此有什么解决方法吗?

当然,我正在使用ajax将数据发送到php脚本,该脚本将gcm_id存储在我的MySQL表上。

我将回答这个问题,因为我刚刚意识到错误出在我的 ajax 提交脚本上。这是运行良好的整个脚本。请注意我对$("#gcm_id").html(data.registrationId);所做的更改,以$("#gcm_id").text(data.registrationId);

<script type="text/javascript">
        document.addEventListener("deviceready",onDeviceReady,false);
        function onDeviceReady(){
        console.log("Device Ready")
        var push = PushNotification.init({ "android": {"senderID":"XXXXXXXXXXXXXX"},
        "ios": {"alert": "true", "badge": "true", "sound": "true"}, "windows": {} } );
        push.on('registration', function(data) {
        console.log(data.registrationId);
        //$("#gcm_id").html(data.registrationId);
        $("#gcm_id").text(data.registrationId);
                    $.ajax({
                    url: "http://YOURDOMAIN.COM/gcmreg.php",
                    type: "POST",
                    dataType: 'text',
                    data: {registrationId: data.registrationId},
                    success: function (data) {
                        alert(data);
                    }
                    });
        });
        push.on('notification', function(data) {
        console.log(data.message);
        alert(data.title+" Message: " +data.message);
        // data.title,
        // data.count,
        // data.sound,
        // data.image,
        // data.additionalData
        });
        push.on('error', function(e) {
        console.log(e.message);
        });
        }
        </script>