Как показать дружественное сообщение об ошибке, используя Open-flash-charts2?

Если мой файл данных JSON взят из результирующего набора базы данных, а этот результирующий набор пуст, как я скажу OFC2 отображать сообщение об ошибке вместо сбоя из-за неправильно сформированной строки JSON?

2 ответа

Возможны несколько вариантов решения, в зависимости от вашего уровня доступа к серверу и вашего знания JavaScript и / или любых серверных платформ.

С доступом к базе данных. В зависимости от типа отображаемых данных, возможно, можно добавить фиктивные записи для тех запросов, которые в противном случае вернули бы пустой набор. Если у вас есть доступ к определению запроса, вы можете проверить наличие пустого набора в DB-запросе. Например, если вы используете MS SQL Server, вы можете проверить условие с помощью некоторых операторов T-SQL.

С доступом к серверу. Если у вас есть доступ к сценарию на стороне сервера, генерирующему набор данных, добавьте условие, которое возвращает некоторое значение по умолчанию, которое OFC2 будет правильно обрабатывать.

С доступом к другому серверу или расположению сервера. Если у вас нет доступа к конкретному сценарию, вы можете рассмотреть возможность создания нового сценария в другом месте, который запрашивает исходный сценарий и заменяет пустые результаты значением по умолчанию.

Только на стороне клиента Вы можете добавить JavaScript open_flash_chart_data функция (см. учебник) для замены пустых наборов данных. OFC2 может использовать эту функцию в качестве источника данных.

Надеюсь это поможет.

Добавьте к этому вопросу теги для javascript и actionscript-3, и вы получите больше просмотров и полезных ответов, чем вы в настоящее время, с более точными деталями, чем я даю. Опубликуйте фактическую строку JSON, которая вызывает у вас проблему и которую вы хотели бы защитить. Таким образом, люди могут предложить регулярное выражение, чтобы перехватить его, рассматривая его как строку, а не как данные JSON в какой-то момент до того, как произойдет JSON.decode().

Более подробно:

Вы можете поймать его в двух местах. Один из способов - переключиться на использование интерфейса javascript для OFC2 и использовать JavaScript на стороне клиента для обнаружения неверной строки. Это позволяет вам изменять клиентскую строку JSON. См. http://teethgrinder.co.uk/open-flash-chart-2/tutorial-5.php для такого подхода. Недостатком является то, что на клиентах должен быть включен JavaScript, чтобы это работало.

Кроме того, поскольку OFC2 - это LGPL, вы или разработчик ActionScript можете погрузиться в исходный код OFC2 и сделать там то же самое. Я не разработчик ActionScript, поэтому вам лучше убедиться, что вы получите ответ от одного из них.

Главное - добавить эти два тега к этому вопросу. 22 Просмотры слишком низки для вопроса с наградой 500. Надеюсь, это поможет.

Другие вопросы по тегам