Есть код:
$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, 'https://gcm-http.googleapis.com/gcm/send' );
curl_setopt( $ch,CURLOPT_POST, true );
curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ) );
$result = curl_exec($ch );
curl_close( $ch );
echo $result;
Нужно сделать средствами JS,
Получилось примерно следующее.
$.ajax({
headers: {
"Content-Type" : "application/json",
'Authorization': 'key=AIza***kTbxQ'
},
url: "https://gcm-http.googleapis.com/gcm/send",
type: "POST",
timeout : '5000',
async : true,
dataType: "JSON",
data : {
registration_ids : ["***"],
data : {
'title' : '123',
"message" : "123123!",
'vibrate' : "1",
'sound' : "1"
}
}
});
Так вот при выполнении кода на PHP никаких проблем и ошибок, но при на JS ответ от сервера : "JSON_PARSING_ERROR: Unexpected character (r) at position 0."
При удалении строки
"Content-Type" : "application/json"
ошибка уходит, но появляется "Error=MissingRegistration".
Потому что требуется Content-Type.
Ночь сидел, так и не понял в чём ошибка.