0

我有一个采用这种格式的 RESTful Web 服务:

/users?age={age}

正如它所定义的那样,无论我是否添加年龄参数,Web 服务都可以正常工作。所以这两个例子都是正确的:

/users

或者

/users?age=18

放大的请求定义:

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

有效的调用:

var myAge = 18;
amplify.request("usersService", {age : myAge});

结果是:

GET /users?age=18 
Response code: 200 OK

调用不起作用:

var myAge = null;
amplify.request("usersService", {age : myAge});

结果是:

GET /users?age=
Response code: 400 BAD REQUEST

未定义年龄时我期望的正确结果是:

GET/users
Response code: 200 OK

知道如何使这个例子有效吗?

提前致谢。问候 Neuquino

4

2 回答 2

0

尝试:

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

amplify.request("usersService");

于 2013-04-12T19:32:18.290 回答
0

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

var input = null;
if(myAge != null){
  input.age = myAge
}
amplify.request("usersService",input);


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

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

于 2013-04-12T20:57:28.403 回答