2010-11-18 3 views
0

Мы делаем сообщение jQuery в файл jsp.jQuery Перекрестные ошибки домена

Мы включаем полный URL-адрес файла jsp, который будет возвращать строку, но в IE и FF запрос блокируется.

Есть ли способ обойти это?

  $.ajax(
       { 
        type : "post", 
        url : "http://www.mydomain.com/my.jsp", 
        data : {string:"some string"}, 
        success:doSuccess 
       } 

Изменение сообщения, чтобы получить чистую сеть с теми же данными, но может ли это также вызвать проблему XSS?

У использования $ .get есть проблемы с XSS?

ответ

2

Вы можете переформатировать свой выход как JSONP. Полное описание здесь:

http://api.jquery.com/jQuery.getJSON/

Просто для справки, причина того, что ваши браузеры блокируют это, чтобы предотвратить перекрестную атаку домена сценариев: http://en.wikipedia.org/wiki/Cross-site_scripting. JSONP добавляет «дополнение» к вашей строке и препятствует тому, чтобы строка стала угрозой.

+0

да, конечно, я понял. мы находимся у клиента, и наш сайт размещен на сервере в их помещениях. поэтому наше приложение вызывает страницу в одном домене. однако наша главная страница отображается в их cms, поэтому потенциально может быть получен из другого домена. – griegs

+0

Да, у меня была такая же проблема (CMS был SharePoint, но тот же принцип). JSONP был самым элегантным способом обойти это. Вам просто нужно поработать, чтобы отформатировать вашу строку как JSONP в Java (возможно, http://code.google.com/p/jsonp-java/) – Andrew

0

Вы делаете запрос на перекрестный домен ajax? Каков домен страницы, запрашивающей ресурс ajax?

Из-за соображений безопасности поддержка запросов ajax для перекрестных доменов ограничена.

Это может дать some input вам.

+0

Я должен упомянуть, что мы не используем php. – griegs

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