Angularjs HTTP POST v/s HTTP GET
我想从前端(角度)到后端进行数据库查询。但我需要为此发送很多参数 据我所知,如果我们不进行任何数据库更改,最好使用GET,因为它使用缓存条目。如果我们需要在服务器/DB上进行更改,应该使用POSTAngularjs HTTP POST v/s HTTP GET,angularjs,node.js,http,post,get,Angularjs,Node.js,Http,Post,Get,我想从前端(角度)到后端进行数据库查询。但我需要为此发送很多参数 据我所知,如果我们不进行任何数据库更改,最好使用GET,因为它使用缓存条目。如果我们需要在服务器/DB上进行更改,应该使用POST 但是,如果我想发送许多参数(一些是序列化对象)并且不进行服务器端更改,那么在这种情况下使用POST请求并将所有参数嵌入POST正文中,而不是发送一个巨大的URL编码的GET请求,可以吗?我认为在这种情况下应该使用POST,因为它更易于管理并且看起来更干净。要获得更多便利,请点击以下链接: 首先清
但是,如果我想发送许多参数(一些是序列化对象)并且不进行服务器端更改,那么在这种情况下使用POST请求并将所有参数嵌入POST正文中,而不是发送一个巨大的URL编码的GET请求,可以吗?我认为在这种情况下应该使用POST,因为它更易于管理并且看起来更干净。要获得更多便利,请点击以下链接:
/search
/search/123abc
/search/123abc
搜索结果页面这将引入一个额外的HTTP往返,但允许跨浏览器和通过代理服务器进行缓存。“更易于管理且看起来更干净”并不是您在构建软件时真正需要的正确定义的属性,以及。请明确解释为什么POST比GET“更易于管理”。在你的情况下,你可以同时使用GET和POST。从你的问题来看,你似乎对GET和POST有很好的了解,但我只是根据我的经验给出了我的观点。我说的可管理是指任何时候都可以轻松地更改字段名,不必为get请求创建大字符串,而我说的clean是指代码中不会有大而难看的请求字符串。另外,我可能在评论部分给出了我的答案,但我现在不能这样做。让我知道你的想法。谢谢,好办法。这也给了我一个不同的想法。使用btoa()对参数的字符串化对象进行编码,并在GET请求中将编码后的数据作为param发送。在服务器上,解码参数并解析参数,完成任务。这样如何?这将为我们节省一次往返,这是您方法中的一个警告。是的,当然额外的往返是一个缺点,但它可以实现您想要的:响应可缓存的大型请求。如何正确地编码搜索参数是一个完全不同的问题,这在很大程度上取决于这些参数的性质。许多字符串和数字不能很好地编码成较小的格式,而许多布尔值可以。