Совместно используемые данные JSON для php и Javascript / Ajax - PullRequest
0 голосов
/ 17 июля 2011

Я пишу механизм проверки для моего сайта.Некоторый код используется с Javascript и ajax для проверки (в основном длины) строк.И другой код используется в php на стороне сервера.

И PHP, и Javascript должны использовать одни и те же переменные, скажем, MAX_USERNAME_LENGTH.Так что они остаются синхронизированными и экономят время на разработку.

Я думал об использовании JSON.Но после небольшого исследования я заметил, что:

$.getJSON("http://myurl.com/vars.json", function(json) {
  alert(json['MAX_USERNAME_LENGTH']);
})

для начинающих, это по какой-то причине не получит доступ к локальному местоположению как ../includes/vars.json, и возвращает 404 по какой-то причине ....

  1. Я думал, если бы я поместил это в $(document).ready(function (), тогда весь код запустился бы, но сами переменные не загрузились бы, если сеть была медленной ....

Есть ли способ просто сделать что-то вроде:

var json=parseJsonFromLocalFile("../includes/vars.json");

Мне нужно это также для php, но там я думаю, что было бы проще использовать json_decode() Заранее спасибо !!!

1 Ответ

2 голосов
/ 17 июля 2011

Вы можете создать файл Javascript вместо файла JSON - просто определите все свои переменные в массиве PHP, а затем создайте файл PHP с содержимым, подобным:

var config = <?php echo json_encode($config); ?>;

и загрузите его как:

<script type="text/javascript" src="../includes/vars.php"></script>

(vars.js будет лучшим именем, но для этого потребуется, чтобы ваш сервер знал, что файлы * .js должны обрабатываться как PHP.)

Это будет загружать ваши переменные синхронно и переводить их в глобальную область легче, чем асинхронная загрузка JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...