首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用AmplifyJS构建包含可选数据的请求?

如何使用AmplifyJS构建包含可选数据的请求?
EN

Stack Overflow用户
提问于 2013-04-13 02:47:37
回答 2查看 280关注 0票数 0

我有一个RESTful web服务,格式如下:

代码语言:javascript
复制
/users?age={age}

根据它的定义,无论我是否添加age参数,web服务都可以工作。因此,这两个示例都是正确的:

代码语言:javascript
复制
/users

代码语言:javascript
复制
/users?age=18

放大器的请求定义:

代码语言:javascript
复制
amplify.request.define( "usersService", "ajax", {
  url: "/users",
  type: "GET",
  data: {age : "{age}"}
});

有效的调用:

代码语言:javascript
复制
var myAge = 18;
amplify.request("usersService", {age : myAge});

结果是:

代码语言:javascript
复制
GET /users?age=18 
Response code: 200 OK

不起作用的调用:

代码语言:javascript
复制
var myAge = null;
amplify.request("usersService", {age : myAge});

结果是:

代码语言:javascript
复制
GET /users?age=
Response code: 400 BAD REQUEST

在没有定义年龄的情况下,我期望的正确结果是:

代码语言:javascript
复制
GET/users
Response code: 200 OK

你知道如何让这个例子工作吗?

提前谢谢。关于Neuquino

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-13 04:57:28

解决方案不是在request.define中定义“数据”,也不是在调用中添加或不添加年龄属性。

代码语言:javascript
复制
var input = null;
if(myAge != null){
  input.age = myAge
}
amplify.request("usersService",input);


amplify.request.define( "usersService", "ajax", {
  url: "/users",
  type: "GET",    
});

输入被合并到正文中,因此如果为空,则不发送任何内容。

票数 0
EN

Stack Overflow用户

发布于 2013-04-13 03:32:18

尝试:

amplify.request("usersService",{});

amplify.request("usersService");

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15978690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档