Попробуйте добавить параметр "jsoncallback =?" на ваш URL
$.getJSON('json_input/client_settings_input.json?jsoncallback=?',function(clientData)
jQuery заменит последний вопросительный знак после параметра jsoncallback идентификатором.
Этот идентификатор будет затем использоваться на стороне сервера для создания ответа, который будет начинаться с функции, названной из значения идентификатора.
Это приведет к ответу, который будет выглядеть примерно так:
jQuery16205149872086476535_1314088378455({
"viewport_size":
{"display_name":"VIEWPORT SIZE:",
"name":"viewport_size",
"format":"number",
"type":"dropdown",
"dflt":"640 * 480",
"values":["800*600","1280*720","1920*1080"],
"isMandatory":"true"},
"framerate":
{"display_name":"FRAMERATE:",
"name":"fps",
"format":"number",
"type":"dropdown",
"dflt":"30",
"values":["45","60","90"],
"isMandatory":"true"},
"pattern_resolution":
{ "display_name":"PATTERN RESOLUTION:",
"name":"resoln",
"format":"number",
"type":"dropdown",
"dflt":"8",
"values":["16","32","64"],
"isMandatory":"true"}
});
Итак, в кратком ответе, если ваш ответ json НЕ обернут в это имя функции, функция обратного вызова не сработает, вместо этого вы получите сообщение об ошибке, которое вы могли бы увидеть следующим образом:
$.getJSON('json_input/client_settings_input.json?jsoncallback=?',function(clientData) {
//your code
}).error(function(jqXHR, textStatus, errorThrown) {
alert("Error: " + textStatus + " errorThrown: " + errorThrown);
})
Надеюсь, это поможет
Patrik