angular和后端交互数据问题

angular访问后端服务器,进行数据交互,可以通过如下4种方式传递数据给服务端;

  1. 参数的形式:api/users?username=abc&age=18
  2. 通过表单的形式提交数据,在请求头加上:Content-Type: application/x-www-form-urlencoded
  3. 直接在body下发送json数据, 在请求头加上:Content-Type: application/json;charset=utf-8
  4. 在请求头下设置参数传递

服务器端也有几种接收方式,我以php为列子

  1. 通过参数传递的话,可以通过$_GET来获取参数值;
  2. 通过表单传递的话, 可以通过$_POST来获取参数值;
  • 上面的两种形式都可以通过$_REQUEST来获取
  1. 通过json传递的话,php获取数据流的形式才能获取到客户端json数据,代码如:
$str = file_get_content("php://input");
$arr = json_decode($str, true);
// 形式如可以获取 $arr['id'] 的值了;
  1. 现在重点说一下前端通过请求头的形式发送数据给服务端接收
    1. 前端angular:
    headerOptions: any;
    constructor(private http: HttpClient) { 
       this.headerOption = 
        {
          'Content-Type': 'application/json;charset=utf-8',
          "did": "abc", 
          "version": "1.0"
        }
     }
      login(username: string, password: string){
        return this.http.post(
          this.url + '/login', 
          {username: username, password: password}, 
          {headers : this.headerOption}
          );
      }
    
    1. 后端一定要设置可以接收的请求头信息,不如会出现如下错误,不容许请求头 versionx 访问
      在这里插入图片描述
    2. 服务端设置容许的请求头信息,不然did,version就不能接收;
    header('Access-Control-Allow-Headers:x-requested-with,content-type,did,version');
    
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

book_longker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值