Я знаю, что это популярная тема, но мне еще не удалось найти исчерпывающий ответ.
Я пытаюсь создать для наших «клиентов» простой способ размещения карты Google.на их веб-сайте, который отображает положение наших клиентов (или их подмножество) на карте.Клиенты находятся в базе данных MySQL, которая на лету превращается в XML с помощью сценария PHP (согласно примеру Google).На моем веб-сайте это работает нормально, но когда я пробую его на другом веб-сайте, xmlHTTPRequest не может смотреть на PHP, так как он находится в другом домене.
Я могу обойти это, написав другой файл PHP в другом доменекоторый просто читает файл PHP в исходном домене.Но не все наши клиенты будут иметь PHP на своих серверах.Можно ли как-нибудь вернуть результаты XML из нашей базы данных, используя JavaScript?
Пара моментов:
JavaScript, который делает xmlHTTPRequest, все еще находится на наш сервер - наши клиенты ссылаются на него из тега скрипта.Я подумал, что этого может быть достаточно, но «происхождение» (согласно Chrome, в любом случае) все еще рассматривается как домен # 2
Это здорово: если я использую абсолютную ссылку вxmlHTTPRequest (например, request.open ('GET', 'http://mydomain.com/api/foo.php', true)), тогда он не будет работать в IE, но если я использую относительную ссылку (' /api/foo.php '), он будет работать.
Я не знаю достаточно об этом, но могу ли я использовать JSON?Я видел: 'script src = "http: //..../someData.js? Callback = some_func"' но не знаю, как, я бы сделал так, чтобы 'someData.js' выглядел как JSON?(Я очень много думаю о функциях, что, вероятно, неверно?).
Я попытался добавить: header ("Access-Control-Allow-Origin: *");к вершине PHP, который выводит XML, но я не могу сказать, что он мало что делает!
Если я использую оболочку PHP на клиентском сервере, в чем преимуществоиспользуя запрос cURL, а не просто file_get_contents или fopen?
Извините, много вопросов, но любые рекомендации будут высоко оценены.
Огромное спасибо,
Мат