недопустимый символ в ответе jsonp - PullRequest
0 голосов
/ 27 июня 2010

Привет, я делаю упражнение, в котором я пытаюсь очистить содержимое сайта nytimes, используя javascript / ajax.

Чтобы отправить междоменный запрос ajax, я использую прокси-сервер, который возвращает мне ответ jsonp сСодержимое веб-сайта nytimes.

Но поскольку этот HTML-контент содержит несколько символов (одинарных кавычек), которые выдают ошибку «Недопустимый символ».

<script type="text/javascript" src="http://json-proxy.jgate.de/?callback=callback&url=http%3A%2F%2Fwww.nytimes.com%2F"></script>
<script>
function callback(obj) {
 alert(obj);
}
</script>

Что может быть возможным решением этой ошибки?И каковы другие альтернативы, чтобы решить эту проблему?

Спасибо

(ps. Этот вопрос был задан одному из моих друзей в его интервью)

Обновление: вот ссылка на Yahoo!тот же самый.http://pipes.yahoo.com/pipes/pipe.run?_id=748e37c218ed0747d0b868ae8eafefa6&_render=json

Ответы [ 2 ]

0 голосов
/ 07 июля 2010

Yahoo трубы исправили эту проблему.

0 голосов
/ 27 июня 2010

Вы должны экранировать символы на сервере.

callback('<!DOCTYPE html PUBLIC \"-//W...etc.') // notice the \"-//W

Вместо:

callback('<!DOCTYPE html PUBLIC "-//W...etc.') // which will eventually create an error

Сбросить все специальные символы, такие как / , \ , ", ' до / , \ ...

...