gpt4 book ai didi

javascript - 参数化 Angular 请求的优缺点

转载 作者:行者123 更新时间:2023-11-29 19:28:24 26 4
gpt4 key购买 nike

我是一名全职后端开发人员,刚开始为我自己的一些项目学习 Angular。

默认情况下,angular $http 请求似乎是作为 JSON 字符串发送的。我目前正在覆盖 transformRequest 方法以像 jquery 一样对其进行参数化。我的后端框架(Phalcon PHP)这样接收比较方便。

在我致力于这条道路之前,以这种方式构建它有什么缺点吗?单元测试或使用第三方模块有任何问题吗?

编辑

澄清一下,angular 在正文中将 POST 作为 JSON 字符串发送。 jQuery 和我使用过的其他框架以 form-urlencded 形式发送,例如:姓名=Jonathan+Doe&年龄=23&公式=a+%2B+b+%3D%3D+13%25%21 http://en.wikipedia.org/wiki/POST_%28HTTP%29#Use_for_submitting_web_forms

这可能是由于内容 header 用表单数据填充了 php 中的 $_POST 全局变量(我假设);

最佳答案

我建议您坚持使用 JSON 格式并在 JSON 请求正文中发送数据,而不是 key=value 参数对。您可以使用 Request::getJsonRawBody() 干净地接收 JSON在 Phalcon 中。

主要区别在于 POST vars 格式允许您发送 key=value 数据对。当涉及更复杂的结构(数组、关联数组、嵌套对象等)时,您将开始遇到必须以某种方式解决的问题。如果您在 POST/PUT 请求正文中发送 JSON 对象,则不会发生这种情况。当然,您可以在 AngularJS 和 Phalcon 中序列化和反序列化 OOTB。

您应该强烈考虑仅将 key=value 参数用于 GET 参数,将 JSON 数据用于其他所有参数。显然,您可以混合使用这两者(我的意思是,将文章的新内容作为 PUT 请求与 JSON 正文发送,但在 URL 中指定文章 ID,如 /article?id=123)。

您可能也对阅读REST API: Request body as JSON or plain POST data?感到厌烦.

关于javascript - 参数化 Angular 请求的优缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29719441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com