サーバー側からクライアント側にハッシュを渡す必要があります。私はフロントエンドとバックエンドでそれぞれjqueryとperl CGI :: Applicationを使用しています。私はjqueryを使用することになると私は初心者ですので、サーバーから返されたJSONデータを処理する方法を示すjqueryフォームのプラグインの例を変更しましたhttp://jquery.malsup.com/form/#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を使用しています: :アプリケーション::プラグイン:: 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
を使用して上の任意のアドバイスは、配列のハッシュと配列のハッシュを好きなことはほとんどあり私は将来それを必要としているように歓迎します。