私は反復ごとに、その後javascriptでオブジェクトのコンテンツにアクセスするには?
$.each(result, function(i, n){
alert("key: " + i + ", Value: " + n);
});
を行うと私は反復ごとにowners
、users
、end
、groups
、およびtype
の値にアクセスするにはどうすればよい
key: 276, Value: {"owners":["he"],"users":["he","m"],"end":"07/06-2011","groups":[],"type":"in"}
を参照してください? Perlで
私は更新
を
foreach my $key (keys %result) {
print $result{$key}{owners};
print $result{$key}{users};
...
}
を行っているだろう、私はそう
$.ajax({
type: "GET",
url: "/cgi-bin/ajax.pl",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: { "cwis" : id },
// ...
success: function(result){
if (result.error) {
alert('result.error: ' + result.error);
} else {
$.each(result, function(i, n){
alert("key: " + i + ", Value: " + n);
});
}
}
});
のようなJSONからresult
を入手アップデート2
問題はサーバ側がプローバJSONを送信していないということです。
これは、JSON文字列を生成するサーバーサイドスクリプトです。現在の要素に
$.each
コールバック、this
点で !/usr/bin/perl -T
use CGI;
use CGI::Carp qw(fatalsToBrowser);
use CGI qw(:standard);
use JSON;
use utf8;
use strict;
use warnings;
my $cgi = CGI->new;
$cgi->charset('UTF-8');
my $json_string = qq{{"error" : "The user do not have any activities."}};
my $json = JSON->new->allow_nonref;
$json = $json->utf8;
# @a and $act is now available
my $data;
foreach my $id (@a) {
$data->{$id} = $json->encode(\%{$act->{$id}});
}
$json_string = to_json($data);
print $cgi->header(-type => "application/json", -charset => "utf-8");
print $json_string;
なりますので、キー
i
は、"Value"
に等しいかどうかを簡単なチェックを行いundefined
を避けるためには、あなたはまた、perlスクリプトが生成する結果を表示することができますか? – Teneff私はCGIのエキスパートですが、データをJSONに二重にエンコードしているようです。 'my $ json = JSON-> new-> allow_nonrefで一度; $ json-> encod(\%{$ act - > {$ id}}) 'を使って、$ json = $ json-> utf8;私はそれまでこれをやろうとしているとは言えません! – T9b
@ T9b:あなたはまさに正しいです!それは問題だった=)あなたが投稿した場合は解決策として、私はそれを受け入れる=)ありがとう=) –