Я до сих пор не до конца понимаю ваш вопрос, но поле для комментариев недостаточно для того, что мне нужно набрать: эта идея действительно имеет отношение только к вызову ajax, который получает JSON, запрос JSONP может сделать некоторые альтернативные вещи.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="../scripts/jquery-1.5.1.min.js"></script>
</head>
<body>
<script language="javascript">
function doX() { alert("x"); }
function doQ() { alert("q"); }
function doY() { alert("y"); }
(function () {
$.ajax({
url: "json.txt",
dataType: 'json',
cache: false,
success: function (data, textStatus, jqXHR) {
if (data.mySuccessProperty == "succeeded") {
doX();
(function () { eval(data.dynamicFunction)(); })();
}
else {
doY();
(function () { alert("Z"); })();
}
},
error: function (jqXHR, textStatus, error) {
// handle error
alert("error" + error);
}
});
})();
</script>
</body>
</html>
json.txt содержит
{
"mySuccessProperty": "succeeded",
"dynamicFunction": "doQ"
}
выход будет
alert x
alert q
Мне это кажется глупым, я просто кодирую случайные вещи, которые вы можете сделать, но они не обязательно имеют смысл без контекста приложения, использующего эти идеи.