我正在研究一种将数据存储在MongoDB中的分析解决方案。目前我有一个javascript,它使用XMLHTTPRequest对象使用GET方法将数据发送到PHP文件。
然后,PHP依次在MongoDB上创建/更新文档。
这是一种有效的做事方式吗?有没有更好的方法呢?
虽然目前只是一个侧面项目,我想尝试从一开始就使其成为可扩展的解决方案。
答案 0 :(得分:1)
GET的浏览器大小有限,而POST不是。
它在PHP方面没有那么大的变化。
答案 1 :(得分:1)
听起来你正在做的事情,你的实现应该没问题。但是恕我直言,我可能只是为了防止发送长数据的问题而将XHR从发布改为发布。虽然服务器应该能够处理任意长度的URL(包括查询字符串),但浏览器通常只支持大约2k个字符。任何事情,你会有问题。 POST没有此限制。
答案 2 :(得分:0)
你的建议应该没问题。
如果您打算在其他网站上使用javascript(同时将您的php保存在单个域中),您将遇到跨域策略问题。
答案 3 :(得分:0)
正如其他人所说,由于浏览器的限制,使用POST是有原因的。但是我想再做一次。
POST在HTTP方法定义方面更有意义。 GET应该是安全的,不会对系统状态(数据库)进行任何更改。这通常在服务中强制执行,但在HTML表单处理中没有那么多。
某些方法(例如,HEAD,GET,OPTIONS和TRACE)被定义为安全,这意味着它们仅用于信息检索,不应更改服务器的状态。换句话说,它们不应该具有副作用,除了相对无害的效果,例如日志记录,缓存,横幅广告的提供或递增网络计数器。因此,在不考虑应用程序状态的上下文的情况下进行任意GET请求应该被认为是安全的。
补充阅读: