Ajax将对象传递给舞蹈模块

Ajax pass object to dancer module

本文关键字:舞蹈 模块 对象 Ajax      更新时间:2023-09-26

我有一个名为'contacts'的对象通过ajax传递给perl dancer模块,如:

$.ajax({
                type: "POST",
                url: 'Contacts/savecontact',
                dataType: "json",
                data: {con: contacts},
                success: function (msg) {
                    alert("success");
                }
   });
在模块

any [ 'ajax', 'post'] => '/savecontact' => sub {
    set serializer => 'JSON';
    my $body = request->body;
    ### I need to get each value in objects contact like name, id etc
};

我试图转储$body,它出现在"'con%5Bid%5D=1&con%5Bname%5D=Amy+John&con%5Baddress%5D=test+here'"

谁能帮我弄到参数?

假设您正在使用Dancer::Plugin::Ajax(看起来像是您),您可以像往常一样在Ajax请求中使用param()方法。所以,例如,

my $con = param('con');

根据您的示例$body,我希望(但不知道事实)$con将是键id, nameaddress的散列引用,可以正常访问$con->{id}