我正在为我们的应用程序开发一个新的RESTful Web服务.
在某些实体上执行GET时,客户端可以请求实体的内容.如果他们想要添加一些参数(例如排序列表),他们可以在查询字符串中添加这些参数.
或者,我希望人们能够在请求正文中指定这些参数. HTTP/1.1似乎没有明确禁止这一点.这将允许他们指定更多信息,可以更容易指定复杂的XML请求.
我的问题:
我有一个执行http POST请求的函数.代码如下所示.这很好用.
$http({
url: user.update_path,
method: "POST",
data: {user_id: user.id, draft: true}
});
Run Code Online (Sandbox Code Playgroud)
我有另一个http GET函数,我想发送数据到该请求.但我没有这个选择.
$http({
url: user.details_path,
method: "GET",
data: {user_id: user.id}
});
Run Code Online (Sandbox Code Playgroud)
的语法http.get是
get(url,config)
有人可以帮我弄这个吗?
它依赖于浏览器吗?另外,不同的Web堆栈对于从请求中获取的数据量有不同的限制吗?
HTTP GET请求的最大长度是多少?是否存在定义的响应错误,如果收到GET请求超过此长度,服务器可以/应该返回?
更新:如标签中所示,这是在Web服务API的上下文中,尽管看到浏览器限制也很有趣.
我们正在推出一个新的REST API,我想要一些关于如何格式化输入参数的最佳实践的社区意见:
现在,我们的API非常以JSON为中心(仅返回JSON).关于我们是否想要/需要返回XML的争论是一个单独的问题.
由于我们的API输出是以JSON为中心的,我们一直在走一条路,我们的输入有点以JSON为中心,我一直在想这可能对某些人来说很方便,但总的来说很奇怪.
例如,要获得一些产品详细信息,我们可以立即提取多个产品:
http://our.api.com/Product?id=["101404","7267261"]
Run Code Online (Sandbox Code Playgroud)
我们应该简化为:
http://our.api.com/Product?id=101404,7267261
Run Code Online (Sandbox Code Playgroud)
或者有JSON输入方便吗?更多的痛苦?
我们可能希望接受这两种风格,但这种灵活性是否会导致更多的混乱和头痛(可维护性,文档等)?
更复杂的情况是我们想要提供更复杂的输入.例如,如果我们想在搜索上允许多个过滤器:
http://our.api.com/Search?term=pumas&filters={"productType":["Clothing","Bags"],"color":["Black","Red"]}
Run Code Online (Sandbox Code Playgroud)
我们不一定要将过滤器类型(例如productType和颜色)作为请求名称,如下所示:
http://our.api.com/Search?term=pumas&productType=["Clothing","Bags"]&color=["Black","Red"]
Run Code Online (Sandbox Code Playgroud)
因为我们想要将所有过滤器输入组合在一起.
最后,这真的很重要吗?可能有很多JSON实用程序,输入类型并不重要.
我知道我们的JavaScript客户端对API进行AJAX调用可能会欣赏JSON输入以使他们的生活更轻松.
我正在构建一个网站,我想从textarea元素的值创建一个文件客户端.
我有代码来执行此操作,但我收到此错误
HTTP错误404.15 - 未找到请求筛选模块配置为拒绝查询字符串太长的请求.
有没有办法覆盖这个,以便我能够处理任何大小的请求?
如果没有,有没有办法生成文件客户端而不使用文件系统/活动x对象?
谢谢
我期待写一段javascript,将一个参数附加到当前网址,然后刷新页面 - 我该怎么做?
我正在建立一个非常小的MySQL数据库,存储,名字,姓氏,电子邮件和电话号码,我正在努力为每个字段找到"完美"的数据类型.我知道没有一个完美的答案,但必须有一些常见的常用惯例,例如这些.例如,我已经确定一个未格式化的美国电话号码太大而无法存储为unsigned int,它必须至少是一个bigint.
因为我相信其他人可能会觉得这很有用,我不想把我的问题限制在我上面提到的字段中.
哪些数据类型适用于常见数据库字段?电话号码,电子邮件和地址等字段?
我正在尝试捕获我的表单的提交按钮按下,如果表单已提交,页面刷新,我会显示一些隐藏的字段.我想捕获表单是否已经提交之前,如果它是在重新加载时提交的,我想取消隐藏隐藏的字段.我试图使用全局变量来实现这一点,但是我无法使其正常工作.
这是我尝试过的:
var clicked = false;
$(document).ready(function() {
$("input[type='submit'][value='Search']").attr("onclick", "form.act.value='detailSearch'; clicked = true; return true;");
if (clicked == true) {
// show hidden fields
} else {
// don't show hidden fields
}
});
Run Code Online (Sandbox Code Playgroud)
有关此代码有什么问题的任何建议吗?
javascript ×4
http ×2
http-get ×2
jquery ×2
query-string ×2
rest ×2
angularjs ×1
api ×1
asp.net-mvc ×1
browser ×1
c# ×1
database ×1
form-submit ×1
limit ×1
max ×1
mysql ×1
refresh ×1
types ×1
web-config ×1
web-services ×1