使用amplifyjs在'Request Payload'中发送数据

时间:2013-03-07 06:03:18

标签: amplifyjs

我有一个javascript对象要发送到服务器,如下所示:

var input = {a: 'aaa', b: 'bbb', c: 'ccc'};

我想在网址中发送'a'属性

http://localhost/rest/customer/aaa

对于Amplifyjs中的url替换功能,这很好,如下所示:

amplify.request.define('update-customer', 'ajax', {
    url : 'rest/customer/{a}',
    dataType: 'json',
    type : 'PUT'
    contentType : 'application/json; charset=utf-8;
});

amplify.request('update-customer', { a : input.a, data : input });

我正在努力解决的问题是,我希望将b和c属性作为json格式的表单数据发送为“请求有效负载”,但由于表单数据的发送方式如下,因此失败:

Request Payload :
  data : {b : 'bbb', c : 'ccc'}

所以我想要实现的是删除“请求有效负载”中的'数据'键,如下所示:

Request Payload :
 {b : 'bbb', c : 'ccc'}

我在REST客户端程序中对此进行了测试并取得了成功。

总结我的问题,如何使用 amplifyjs 发送没有密钥名称的请求正文中附加的数据? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

尝试:

amplify.request.define('update-customer', 'ajax', {
  url: 'rest/customer/{a},
  dataType: 'json',
  type: 'PUT',
  contentType: 'application/json; charset=utf-8',
  data: {
    b : '{b}',
    c : '{c}'
  }
});

amplify.request('update-customer', { a : input.a, data : input });

如果input.b或input.c为null,则此解决方案存在问题。 Check this post for further details