Для веб-сервиса, который я разрабатываю, я хотел бы, чтобы мой встроенный код (на сайте клиента) выбрал XML-файл от моего разъединять сценарий, который находится на моем домене.
Поскольку это - междоменный запрос, который я изобразил для использования jsonp, поскольку это кажется фактическим стандартом для такой пчелы. Однако для моего приложения для меня было бы легче использовать xml вместо json. Теперь, я мог, конечно, преобразовать свой xml в json на сервере и затем обратно снова к xml в сайте клиента JavaScript, но это кажется излишне громоздким. То, в чем я действительно нуждаюсь, и xmlp решение, xml с дополнением.
Я усталый поиск с помощью Google, но не мог найти плагин jQuery, который делает это. Кто-либо знает простое решение?
Единственная причина, по которой json работает, заключается в том, что включенный javascript на вашей странице может работать в окне без каких-либо проблем с x-доменом. Поэтому он должен оставаться javascript. Однако вы можете просто минифицировать xml, убедиться, что он правильно экранирован, и отправить его как значение в объекте json.
echo 'callback({data: "' + xml string + '"});';
Или что-то в этом роде.
Вы можете использовать что-нибудь вроде Yahoo! Язык запросов (YQL), чтобы избавить вас от необходимости писать другой выходной формат для вашего XML-файла.
Например, чтобы получить XML-канал для этого вопроса через JSONP-X, вы должны использовать URL-адрес запроса YQL, например:
http://query.yahooapis.com/v1/public/yql?q=select%20 *% 20from% 20xml% 20where% 20url% 3D% 27http% 3A% 2F% 2Fstackoverflow.com% 2Ffeeds% 2Fquestion% 2F2671143% 27% 20and% 20itemPath% 3D% 27feed.запись% 27 & callback = my_jsonpx_handler
Что даст следующий результат ; фактически XML, завернутый в обратный вызов JSON:
my_jsonpx_handler ({"query":…, "results": ["
\ n http://stackoverflow.com/questions/2671143/is-there-an-existing-tool-for-jsonp-like-fetching-of-xml-in-jquery<\/id>\n 0 <\ / re: rank>… "]}) ;
Затем ваши виджеты могут запрашивать данные по URL-адресу YQL, которые, в свою очередь, будут обращаться к XML-файлу на вашем сервере (с кешированием, скоростью и т. Д. В качестве дополнительных преимуществ).