<script language="JavaScript">
var result = {};
var data;
function load_metadata (id) {
$.ajax({
url: "/video/metadata",
type: "POST",
data: id,
cache: false,
//dataType: "json",
//contentType: 'application/json',
success: function(data) {
result = data;
},
error: function(e, xhr){
alert('slideshow data load error: ');
}
});
alert(result.toSource()); //({})
}
</script>
/ video / metadata(メイソンコンポーネント)
<%class>
use JSON;
has 'data';
</%class>
<%init>
use Data::Dumper;
print STDERR Dumper($.data); # $VAR1 = '"815"'
my $item_hash->{'item'} = "test"; # Valid JSON in JSONLint.com
my $json = to_json($item_hash, { ascii => 1 });
print STDERR Dumper($json); # $VAR1 = '{"item":"test"}';
</%init>
<% $json %>
コンポーネント呼び出しからのjsonではなく、ページのすべてのhtml要素を返します。
datatype/contentTypeを指定するとparserserrorが発生します