我正在使用angular和php slim创建基于Web的系统。现在,我想将字符串数组发送到php slim API。并从后端访问它。我现在使用以下代码。但是它不能正常工作。
角度前端代码。
var emails = ['sampleemail@gmail.com','anotheremail96@gmail.com'];
this._db.sendFirstEmailToAllEmp(emails).subscribe((result : any) => {
console.log(result);
},(error : any) => {
console.log(error);
});
Slim PHP Api后端代码
// Send First Mail When Customer Send A Job
$app->get('/test', function (Request $request, Response $response) {
try{
// Get The Array
$result = array();
$emails = $request->getParsedBody();
$length = $request->getContentLength();
for($i=0;$i<$length;$i++){
$tempEmail = $emails[$i];
$result[$i] = $tempEmail;
}
// Return Result
return $response->withStatus(200)->withHeader('Content-Type', 'application/json')->write(json_encode($result));
} catch(Exception $ex){
$result = array();
$result["TYPE"] = "ERROR";
$result["CODE"] = $ex->getCode();
$result["MSG"] = $ex->getMessage();
$result["FILE"] = $ex->getFile();
$result["LINE"] = $ex->getLine();
return $response->withStatus(400)->withHeader('Content-Type', 'application/json')->write(json_encode($result));
}
});
我想在后台获取这些电子邮件,因为我可以做其他与阵列有关的事情。
答案 0 :(得分:0)
您应该使用HttpClient发出POST请求
constructor(private http: HttpClient) {}
sendEmailFunction(email) {
this.http.post('yourUrl', {email}).subscribe();
}
在后端,您可以使用
访问电子邮件$request->email;
别忘了更改发布路线的类型
$app->post(...)