Тема: curl vs Ajax
Показать сообщение отдельно
  #1 (permalink)  
Старый 03.10.2016, 04:33
Новичок на форуме
Отправить личное сообщение для Betr1488 Посмотреть профиль Найти все сообщения от Betr1488
 
Регистрация: 03.10.2016
Сообщений: 5

curl vs Ajax
Есть код:
$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.
Ночь сидел, так и не понял в чём ошибка.
Ответить с цитированием