Хранение идентификаторов GCM на моем веб-сервере с использованием Cordova не работает

Я пытаюсь зарегистрировать идентификаторы GCM различных устройств на своем веб-сервере, чтобы я мог отправлять push-уведомления. Я использовал следующий код, чтобы получить идентификатор GCM устройства.

<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 из javascript в поле формы html,

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

Поле формы, похоже, не получает значение gcm_id. Есть ли обходные пути?

Конечно, я использую ajax для отправки данных в скрипт php, который будет хранить gcm_id в моей таблице MySQL.

0

Решение

Я собираюсь ответить на вопрос, поскольку я просто понимаю, что ошибка была в моем сценарии представления 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>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]