2010-06-26 3 views
0

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

Чтобы отправить запрос на перекрестный домен 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> 

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

Благодаря

(приписка Этот вопрос был задан одному моим друзьям в своем интервью)

Update: Вот Yahoo Pipes ссылаются на то же самое. http://pipes.yahoo.com/pipes/pipe.run?_id=748e37c218ed0747d0b868ae8eafefa6&_render=json

ответ

0

Вам необходимо избегать символов на сервере.

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

Вместо:

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

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

+0

У меня нет доступа к этому прокси-серверу. Я нашел этот сервер онлайн. – priyank

+1

Существует ошибка с вашим первым сервером, который делает его выходным неприменимым JSON для сайта, который вы пытаетесь получить. Но Yahoo Pipes JSONP работает: http://pipes.yahoo.com/pipes/pipe.run?_id=748e37c218ed0747d0b868ae8eafefa6&_render=json&_callback=callback – tcooc

 Смежные вопросы

  • Нет связанных вопросов^_^