我需要將哈希從服務器端傳遞到客戶端。我在前端和後端分別使用jquery和perl CGI :: Application。我是使用jQuery的初學者,因此我修改了jquery表單插件示例,其中顯示瞭如何處理從服務器http://jquery.malsup.com/form/#json返回的JSON數據。我試圖用我最喜歡的perl web框架CGI :: Application來使用給定的代碼。 CGI::Application::Plugin::JSON
在傳遞標量值時工作良好,但由於缺少文檔,我無法弄清楚如何傳遞數組或哈希或複雜的數據結構。當傳遞一個哈希我使用下面的代碼片段: -從perl CGI :: Application :: Plugin :: JSON傳遞哈希到jQuery表單插件
foreach my $k (sort keys %hash)
{
return $self->add_json_header ({ message => $hash{$k}});
}
這是我在Apache的錯誤日誌中發現了錯誤:
ajaxtest.pl: Odd number of elements in hash assignment at /usr/local/share/perl/5.10.0/CGI/Application/Plugin/JSON.pm line 98., referer: http://localhost/echo.html
雖然經過我使用CGI標: :Application :: Plugin :: JSON json_body
函數。 請讓我知道我要去哪裏錯了。以下是在HTML文件中的jQuery代碼是在表單插件網站(上面給出的鏈接)也給出了:
// prepare the form when the DOM is ready
$(document).ready(function() {
// bind form using ajaxForm
$('#jsonForm').ajaxForm({
// dataType identifies the expected content type of the server response
dataType: 'json',
// success identifies the function to invoke when the server response
// has been received
success: processJson
});
});
function processJson(data) {
// 'data' is the json object returned from the server
alert(data.message);
}
使用CGI::Application::Plugin::JSON
複雜數據結構的任何建議喜歡陣列的哈希散列和數組是最歡迎,因爲我將來需要它。