【发布时间】:2017-01-23 19:04:56
【问题描述】:
我正在开发一个 Catalyst 数据库项目并尝试通过 jQuery 执行一些 AJAX 请求。参数发送正常,如图 1 所示。
请注意,“diagnosis”和“type_consents”(及其对应的日期)均作为值数组(值 1、值 2、...值 n)发送。
现在对于服务器端处理,Catalyst::Request 允许通过$req->parameters 轻松检索数据,但它似乎对我不起作用。
我是这样做的:
my $params = $c->request->parameters; #Retrieving all parameters
my @type_consents = $params->{type_consent};
my @date_consents = $params->{date_consent};
my @diagnosis = $params->{diagnosis};
my @date_diagnosis = $params->{date_diagnosis};
然后我需要循环这些数组并为每对值 (diagnosis|date , consent|date) 进行插入。另外,我需要存储和处理所有事务并在eval() 块中一次执行它们,所以我这样做:
my %transactions;
# Diagnosis
my $diag_index = 0;
foreach my $key ( 0 .. $#diagnosis ) {
$transactions{diagnosis}{$diag_index} = $diagnosis_mod->new(
{
subject_id => $subject_id,
diagnosis_date => $date_diagnosis[$key],
diagnosis => $diagnosis[$key],
diagnosis_comment => "",
suggested_treatment => ""
}
);
print STDERR "\n" . $date_diagnosis[$diag_index];
print STDERR "\n DEBUG: $date_diagnosis[$diag_index] | $diagnosis[$diag_index] | key: $diag_index";
print STDERR "\n DEBUG2:" . Dumper( @date_diagnosis ) . " | " . Dumper( @diagnosis );
$diag_index++;
}
# I'm avoiding evaluating and performing the transactions so neither eval() nor database impact are shown above.
这些调试会打印以下内容:
这是否表明我的“数组”只是一个带有字符串的一维变量?我试过拆分它,但也没有用。
【问题讨论】: