Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: получить html с удалённого сервера
 
 автор: Slo_Nik   (28.03.2012 в 23:34)   письмо автору
 
 

Добрый вечер.
Помогите пожалуйста решить проблему с получением html с удалённого сервера.
Есть плагин под wordpress, который получает данные с удалённого сервера, но всё это работает с перегрузкой страницы, в ответ приходит чистый html.

<style>
/* разные стили для оформления */
.class{color:#f00; ........}
</style>
<!-- далее обычный html различные div + форма с разными input , style и т.п.  -->
<div>text</div>
<form>
...........................
<input type='text' name='' />
..........................
</form>


Нужно переделать с применением ajax.
Как я понял из прочитанного в разных источниках, получить ответ от удалённого сервера можно только в случае если dataType установлен в 'json'
попробовал сделать

<script type = "text/javascript">
$(document).ready(function(){
  $('#link').click(function(e){
   e.preventDefault();   
   var url = 'http://site.ru/index.html'  
   $.ajax({
        url : url,
   data : '?callback=?',
        dataType : 'json',
   sussecc : function(data){
    // ???
   } 
   })
   
  })
})
</script>


ответ приходит, в firebug виден и сам исходный код страницы и html, но в консоли сразу выдаёт ошибку
missing } in XML expression 
* { font-family: verdana; font-size: 10pt; COLOR: gray; }


почему возникает ошибка я понимаю, скрипт получает не то, что ожидает....
читал о нововведениях в jquery 1.5 convertes, на официальном сайте тоже смотрел, но до конца так и не понял как это работает.
Возможно ли как то решить эту проблему?
Заранее благодарю откликнувшихся

  Ответить  
 
 автор: task   (28.03.2012 в 23:50)   письмо автору
 
   для: Slo_Nik   (28.03.2012 в 23:34)
 

JSONP в случае другого домена.

  Ответить  
 
 автор: Slo_Nik   (28.03.2012 в 23:56)   письмо автору
 
   для: task   (28.03.2012 в 23:50)
 

ответ я получаю, по крайней мере в firebug я могу посмотреть, что пришло в ответ, как обработать не могу понять.... скрипт ожидает json, но приходит то чистый html

  Ответить  
 
 автор: task   (29.03.2012 в 00:00)   письмо автору
 
   для: Slo_Nik   (28.03.2012 в 23:56)
 

Да я вижу, что чистый html, а потому чего же вы хотите? С другого домена формат только jsonp, а никак не json. Что такое jsonp и как все работает на той же вики можете почитать. Собственно вы можете работать через родной домен, отправляя запросы с него на другой, и получать любой формат данных.

  Ответить  
 
 автор: Slo_Nik   (29.03.2012 в 00:07)   письмо автору
44.5 Кб
 
   для: task   (29.03.2012 в 00:00)
 

>Да я вижу, что чистый html, а потому чего же вы хотите?
я понимаю, что не соответствие формата...
так как это реализовать?
и если можете объясните, как и для чего convertes в jquery 1.5?

p.s. прикрепил то, что вижу в firebug ....

  Ответить  
 
 автор: task   (29.03.2012 в 00:17)   письмо автору
 
   для: Slo_Nik   (29.03.2012 в 00:07)
 

Данный параметр определяет, с помощью каких функций будет производиться конвертация значений из одного типа, в другой. Представлен объектом в формате {строка:функция}, где строка содержит названия двух типов через пробел ("конвертировать_из конвертировать_в").

PS. Только что вы конвертировать собираетесь?

Делайте запрос на свой домен, и коли результат нужен как html, то его и получайте, вернув с родного домена, как результат запроса к другому. И не морочьте голову.
А в будущем ситуации будет разруливать XMLHttpRequest2.

  Ответить  
 
 автор: Slo_Nik   (29.03.2012 в 00:37)   письмо автору
 
   для: task   (29.03.2012 в 00:17)
 

>PS. Только что вы конвертировать собираетесь?
вот я и спрашиваю можно ли это сделать с учётом новой возможности convertes?

  Ответить  
 
 автор: task   (29.03.2012 в 00:40)   письмо автору
 
   для: Slo_Nik   (29.03.2012 в 00:37)
 

Вам какой формат нужен - html, я правильно понимаю? Вы его получаете (думаю вы понимаете, что указав тип ожидаемых данных, и только, вы не получите их автоматом), и во что вы его хотите конвертировать?

  Ответить  
 
 автор: Slo_Nik   (29.03.2012 в 00:45)   письмо автору
 
   для: task   (29.03.2012 в 00:40)
 

правильно понимаете, мне нужен html, и то что получаю(html) надо воткнуть на странице сайта.

  Ответить  
 
 автор: task   (29.03.2012 в 00:50)   письмо автору
 
   для: Slo_Nik   (29.03.2012 в 00:45)
 

Значит домен вам должен выдавть jsonp, и конвертируйте.

  Ответить  
 
 автор: Slo_Nik   (29.03.2012 в 01:01)   письмо автору
 
   для: task   (29.03.2012 в 00:50)
 

отдаёт html

  Ответить  
 
 автор: task   (29.03.2012 в 01:03)   письмо автору
 
   для: Slo_Nik   (29.03.2012 в 01:01)
 

Ну так я вам о чем ранее писал - не морочте голову и делайте запрос через родной домен, а тип ожидаемых данных как html. Я так понял, что другой, это чужой домен?

  Ответить  
 
 автор: Slo_Nik   (29.03.2012 в 01:12)   письмо автору
 
   для: task   (29.03.2012 в 01:03)
 

чужой ...
так и не понял до конца смысл convertes... надо покурить и ещё раз перечитать...

  Ответить  
 
 автор: task   (29.03.2012 в 01:20)   письмо автору
 
   для: Slo_Nik   (29.03.2012 в 01:12)
 

Чтобы понять, вы попробуйте со своего домена получить, например, json-формат данных, просто указав в запросе 'json'. Вы их получите? Чужой домен тем более вам ничем не обязан. А конвертирование, оно и в Африке конвертирование, само слово говорит за себя.

  Ответить  
 
 автор: Slo_Nik   (29.03.2012 в 01:24)   письмо автору
 
   для: task   (29.03.2012 в 01:20)
 

понятно что говорит само за себя.. надо просто посидеть, примерчики поделать, посмотреть как и что... в нете не нашёл я рабочих примеров, только описание на официальном сайте, но как оказалось этого мало...
Благодарю за подсказки, буду дальше думать...

  Ответить  
 
 автор: task   (29.03.2012 в 01:33)   письмо автору
 
   для: Slo_Nik   (29.03.2012 в 01:24)
 

Конвертирование - это установка обработчика, который срабатывает, если тип принятых данных не соответствует указанному. Но вы можете указывать в качестве параметра и свои типы данных. Вот и вся премудрость. Пример:
$.ajax( url, {
  dataType: "xml text mydatatype",
  converters: {
    "xml text": function( xmlValue ) {
      // здесь будут вытащены нужные текстовые данные из предоставленного xml
      return textValue;
    }
  }
});

Через свой домен получаете, и автоматом будет вставлен html-код куда надо.
$("#box").load("мой_домен/test.html");

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования