Как включить междоменный POST-ing в PHP? - PullRequest
11 голосов
/ 25 августа 2009

Я пытаюсь отправить данные POST с одного сайта на другой (оба сайта были разработаны нами). Проблема в том, что переменные POST недоступны, если страница запрашивается из другого домена. Даже если я проверю его локально, но укажу полный URL-адрес, данные POST исчезнут.

Итак, это будет работать:

<form method="POST" action="test.php">

Но это не будет:

<form method="POST" action="http://example.com/test.php">

Вот HTML-код страницы:

<html>
<head>
    <title></title>
</head>
<body>
    <form method="post" action="http://example.com/test.php">
        <input type="text" name="request" value="" id="" />
        <input type="submit" value="" id="" />
    </form>
</body>
</html>

После того, как я получил комментарии, что это должно работать, я проверил это на другом сервере, и там все действительно работало нормально. Это может быть связано с тем, что на первом сервере включен https. Но если это так, мне кажется странным, что я получаю информацию обратно, но пропали только данные POST.

Ответы [ 3 ]

18 голосов
/ 25 августа 2009

То, что у вас есть, должно работать нормально - формы предшествовали политике одного и того же происхождения - вам разрешено отправлять документы в другие домены.

Если бы я рискнул догадаться, я бы сказал, что там есть какой-то редирект 301 или 302? Например, следуйте заголовкам HTTP с помощью Firebug.

2 голосов
/ 25 августа 2009

Как уже говорили другие, не должно быть никаких проблем с этим. Я бы предложил заменить ваш скрипт test.php чем-то простым, например,

<code><?php
echo "<pre>";
var_dump($_POST);
echo "
";

Вы должны найти, что это работает, что означает, что вина лежит где-то в "реальном" сценарии ...

1 голос
/ 23 января 2013

Может быть, также экономит время:

Если вы размещаете POST на domain.com, убедитесь, что он не перенаправляется на www.domain.com. Перенаправление не учитывает переменные POST, только переменные GET.

Если он будет перенаправлен на www.domain.com, добавьте www. в вашем POST-действии

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...