【问题标题】:How to pass string array to php slim api using angular frontend如何使用角度前端将字符串数组传递给 php slim api
【发布时间】:2019-06-13 07:19:27
【问题描述】:

我正在使用 angular 和 php slim 来创建基于 Web 的系统。现在我想将字符串数组发送到 php slim api。并从后端访问它。我现在使用以下代码。但它不能正常工作。

Angular 前端代码。

    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));
    }
});

我想在后端获取这些电子邮件,因为我可以做与数组相关的其他事情。

【问题讨论】:

  • 错误是什么?

标签: php angular rest slim


【解决方案1】:

你应该使用 HttpClient 来发出 POST 请求

constructor(private http: HttpClient) {}


sendEmailFunction(email) { 
   this.http.post('yourUrl', {email}).subscribe(); 
}

在您的后端,您可以使用

访问电子邮件
$request->email;

不要忘记更改发布路线的类型

$app->post(...)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-11
    • 1970-01-01
    • 2016-10-25
    • 2017-11-24
    • 2020-01-26
    • 2011-08-17
    • 1970-01-01
    相关资源
    最近更新 更多