呼び出す必要のある関数を含むJSON文字列があります。
私のJSONは次のようになります:
{
"type":"listview",
// the function I would like to call
"content":"dynoData.getRetailers()",
"custom_classes":["","nMT pickList","",""],
"lib":"static_listview.html",
"tmp":"tmp_listview_inset",
"lang":"locale_search",
...
これを使用して、クライアントでjQueryMobileリストビューをアセンブルしています。動的データを取得するには、を呼び出す必要がありますdynoData.getRetailers()
。
しかし、私は電話をかけるのに苦労しています:-)
これは私が試していることです:
var dyn = $.parseJSON( passed_JSON_string ),
content = dyn.content;
それを呼び出すと関数がトリガーされることを望んでいましたが、関数名を文字列として返すだけです。
質問:
実際の機能をトリガーするにはどうすればよいですか?
ありがとう!
編集:
実際のページのHTML要素にJSON文字列を配置します。これを、作成している要素に置き換えます。HTMLは次のとおりです。
<ul data-template="true" data-config='{
"type":"listview",
"content":"dynoData.getRetailers()",
"custom_classes":["","nMT pickList","",""],
"lib":"static_listview.html",
"tmp":"tmp_listview_inset",
"lang":"locale_search",
"theme":"c",
"filter":"true"
}'></ul>
これらすべてを属性に入れることはできdata-
ますが、それは面倒です...
解決策:これはうまくいきました:
1)JSONを次のように変更します。
..."method":"getRetailers", ...
2)Javascriptからの呼び出し:
content = dynoData[ dyn.method ]();
みんな、ありがとう!