Javascript 在php中发送推送通知时如何获取注册ID

Javascript 在php中发送推送通知时如何获取注册ID,javascript,php,angularjs,ajax,curl,Javascript,Php,Angularjs,Ajax,Curl,所以基本上。。。这里有两个文件,一个是PHP脚本,另一个是angular1 js文件 在js文件中,当管理员用户单击“发送通知”时,会触发一个事件,以便通过函数调用curl发送消息 这个函数看起来像这样 $scope.notify = function(title, content, ¿¿ userId ??){ $.ajax({ url: 'app/backend/src/curl-service.php', type: 'POST',

所以基本上。。。这里有两个文件,一个是PHP脚本,另一个是angular1 js文件

在js文件中,当管理员用户单击“发送通知”时,会触发一个事件,以便通过函数调用curl发送消息

这个函数看起来像这样

    $scope.notify = function(title, content, ¿¿ userId ??){

    $.ajax({
        url: 'app/backend/src/curl-service.php',
        type: 'POST',
        data: {
            userId: 'the problem is here', 
            title: title, 
            message: content
        },
        success: function(data) {
            console.log('time to use curl service');
        },
        error: function(){
            console.log('Error! you can't use curl service');
        }
    });

    };
如您所见,我使用ajax传递了一些数据,以填充通知的内容,该内容将由curl-service.php文件推送

<?php
// Incluimos el api asignada al app
define('API_ACCESS_KEY', 'AIzaSyAJvT_Tx7vwZzViWkwUcQHdhx2osTiSXHA');

$registrationIds = array($_POST['userId']);
$title = array($_POST['title']);
$message = array($_POST['message']);

// preparamos los array
$msg = array
(
    'title'     => $title,
    'message'   => $message,
    'sound'     => default,
);
$fields = array
(
    'registration_ids'  => $registrationIds,
    'data'          => $msg
);

$headers = array
(
    'Content-Type: application/json',
    'Authorization: key=' . API_ACCESS_KEY
);

//iniciamos el servicio conectando con la url
$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, 'https://fcm.googleapis.com/fcm/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;

//ejecutamos el servicio
$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

//verificamos posibles errores y se genera la respuesta 
if ($err) {
    echo "Se ha producido el siguiente error:" . $err;
} else {
    echo $response;
}
?> 


我实际上需要知道的是,我如何获得注册ID,然后我也可以在我的php文件中使用它

$registrationIds = array($_POST['userId']);
$title = array($_POST['title']);
$message = array($_POST['message']);

// preparamos los array
$msg = array
(
    'title'     => $title,
    'message'   => $message,
    'sound'     => default,
);
$fields = array
(
    'registration_ids'  => $registrationIds,
    'data'          => $msg
)
如果将第一位更改为:

$registrationIds = $_POST['userId'];
$title = $_POST['title'];
$message = $_POST['message'];
或者更好地考虑到安全性:

$registrationIds = filter_input(INPUT_POST, 'userId', FILTER_SANITIZE_STRING);
$title = filter_input(INPUT_POST, 'title', FILTER_SANITIZE_STRING);
$message = filter_input(INPUT_POST, 'message', FILTER_SANITIZE_STRING);

你应该很乐意去

你专门使用AJAX发布到你的PHP脚本,但是你在PHPups中使用了$\u GET数组,这完全是我的责任,谢谢你,所以。。。你知道我如何获得这些注册id吗?我是说我能从数据库里得到它们吗?从一个设备?这就是我不太清楚的地方,你的问题是,你没有从客户端到服务器获取用户ID?是的,实际上不知道如何获取,所以我可以用它做我需要的任何事情考虑到我甚至还没有使用脚本,真正的问题是我不知道如何在任何事情之前获取注册ID,fcm要求它正常工作。我在标题中说了,也许我在内容中没有解释清楚