|
|
|
| Добрый вечер.
Помогите пожалуйста решить проблему с получением 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, на официальном сайте тоже смотрел, но до конца так и не понял как это работает.
Возможно ли как то решить эту проблему?
Заранее благодарю откликнувшихся | |
|
|
|
|
|
|
|
для: Slo_Nik
(28.03.2012 в 23:34)
| | JSONP в случае другого домена. | |
|
|
|
|
|
|
|
для: task
(28.03.2012 в 23:50)
| | ответ я получаю, по крайней мере в firebug я могу посмотреть, что пришло в ответ, как обработать не могу понять.... скрипт ожидает json, но приходит то чистый html | |
|
|
|
|
|
|
|
для: Slo_Nik
(28.03.2012 в 23:56)
| | Да я вижу, что чистый html, а потому чего же вы хотите? С другого домена формат только jsonp, а никак не json. Что такое jsonp и как все работает на той же вики можете почитать. Собственно вы можете работать через родной домен, отправляя запросы с него на другой, и получать любой формат данных. | |
|
|
|
|
 44.5 Кб |
|
|
для: task
(29.03.2012 в 00:00)
| | >Да я вижу, что чистый html, а потому чего же вы хотите?
я понимаю, что не соответствие формата...
так как это реализовать?
и если можете объясните, как и для чего convertes в jquery 1.5?
p.s. прикрепил то, что вижу в firebug .... | |
|
|
|
|
|
|
|
для: Slo_Nik
(29.03.2012 в 00:07)
| | Данный параметр определяет, с помощью каких функций будет производиться конвертация значений из одного типа, в другой. Представлен объектом в формате {строка:функция}, где строка содержит названия двух типов через пробел ("конвертировать_из конвертировать_в").
PS. Только что вы конвертировать собираетесь?
Делайте запрос на свой домен, и коли результат нужен как html, то его и получайте, вернув с родного домена, как результат запроса к другому. И не морочьте голову.
А в будущем ситуации будет разруливать XMLHttpRequest2. | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 00:17)
| | >PS. Только что вы конвертировать собираетесь?
вот я и спрашиваю можно ли это сделать с учётом новой возможности convertes? | |
|
|
|
|
|
|
|
для: Slo_Nik
(29.03.2012 в 00:37)
| | Вам какой формат нужен - html, я правильно понимаю? Вы его получаете (думаю вы понимаете, что указав тип ожидаемых данных, и только, вы не получите их автоматом), и во что вы его хотите конвертировать? | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 00:40)
| | правильно понимаете, мне нужен html, и то что получаю(html) надо воткнуть на странице сайта. | |
|
|
|
|
|
|
|
для: Slo_Nik
(29.03.2012 в 00:45)
| | Значит домен вам должен выдавть jsonp, и конвертируйте. | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 00:50)
| | отдаёт html | |
|
|
|
|
|
|
|
для: Slo_Nik
(29.03.2012 в 01:01)
| | Ну так я вам о чем ранее писал - не морочте голову и делайте запрос через родной домен, а тип ожидаемых данных как html. Я так понял, что другой, это чужой домен? | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 01:03)
| | чужой ...
так и не понял до конца смысл convertes... надо покурить и ещё раз перечитать... | |
|
|
|
|
|
|
|
для: Slo_Nik
(29.03.2012 в 01:12)
| | Чтобы понять, вы попробуйте со своего домена получить, например, json-формат данных, просто указав в запросе 'json'. Вы их получите? Чужой домен тем более вам ничем не обязан. А конвертирование, оно и в Африке конвертирование, само слово говорит за себя. | |
|
|
|
|
|
|
|
для: task
(29.03.2012 в 01:20)
| | понятно что говорит само за себя.. надо просто посидеть, примерчики поделать, посмотреть как и что... в нете не нашёл я рабочих примеров, только описание на официальном сайте, но как оказалось этого мало...
Благодарю за подсказки, буду дальше думать... | |
|
|
|
|
|
|
|
для: 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");
|
| |
|
|
|