Работают ли файлы cookie при доступе к удаленному сценарию с помощью jsonp? - PullRequest
1 голос
/ 17 октября 2010

Я использую jsonp для отправки формы в удаленный скрипт.код выглядит примерно так:

$.ajax({
   type: "get",
   datatype: "jsonp",
   url: 'http://other-domain.com/process_form.php?param1=x&' + $("#gs_vote_form").serialize(),
   data: $("#gs_vote_form").serialize(),
   success: function(data) {
    alert('form submitted successfully'); 
   }
  });

Форма отправлена, но ... process_form.php полностью игнорирует данные cookie, принадлежащие «другому домену» (не читает и не записывает их), что является проблемой для меня.

Обратите внимание, мне нет дела до возвращаемых данных, я только использую jsonp для отправки формы с одного сайта на другой без уведомления, фактически не передавая пользователя другому.site.

Есть ли обходной путь для этого?Что-то, что заставит куки работать?

1 Ответ

0 голосов
/ 17 октября 2010

Какой браузер?

Файлы cookie на other-domain будут «сторонними файлами cookie» и, следовательно, в IE будут более жестко контролироваться, как указано на вкладке настроек «Конфиденциальность». Это означает, что для настроек IE по умолчанию other-domain будет запрещено использовать файлы cookie, если только он не устанавливает политику P3P . (Другие браузеры не используют P3P, так как многие считают его бессмысленным Уставом лжеца.)

'?param1=x;' + $("#gs_vote_form").serialize(),

Действительно, вы уверены, что other-domain позволяет использовать ; в качестве альтернативного разделителя параметров по сравнению с &? К сожалению, PHP не поддерживает это, если явно не перенастроил для этого.

...