2013-11-28 3 views
0

На странице индекса я создал форму (не в HTML, а через JavaScript) и вложил ее в функцию, которая вызывается после определенных условий. Вот код JavaScript:Доступ запрещен (403), если файл доступа через JavaScript

function next_page() 
{ 
var card="Some values ab,xy"; 
var form = document.createElement("form"); 
    input = document.createElement("input"); 

form.action = "preview_card.php"; 
form.method = "post" 

input.name = "card_data"; 
input.value = card; 
form.appendChild(input); 
document.body.appendChild(form); 
form.submit(); 
} 

но проблема в том, когда эта функция называется «Forbidden» сообщение отображается как:

Запретный

У вас нет разрешения на доступ /preview_card.php на этом сервере.

Кроме того, при попытке использовать ошибка 404 не найдена с использованием ErrorDocument для обработки запроса.

, но если я непосредственно goto preview_card.php, отображается страница.

Почему запрещен доступ, когда файл вызывается JS-файлом, но если я непосредственно ввожу ссылку в браузер, она появляется.

+0

Убедитесь, что 'preview_card.php' находится в том же каталоге, что и ваш индексный файл. –

+0

Он находится в том же каталоге –

+0

В этом случае проверьте свой 'error_log' для получения дополнительной информации об ошибке. –

ответ

0

Кажется, что ваш сервер отрицает запросы ajax (X-Requested-With). Попробуйте установить Заголовок Access-Control-Allow-Headers: X-Requested-With, Content-Type на серверной стороне.

Кстати, почему вы не используете jQuery?

$.post(
    '/preview_card.php', 
    { 
     card_data: "Some values ab, xy" 
    }, 
    function (data) { 
     console.log(data); 
     /* some actions with response here */ 
    } 
); 
0

Возможно, preview_card.php принимает в настоящее время запрос POST. В обычном случае, если вы вводите URL-адрес в адресную строку, ваш браузер выполняет запрос GET. Попытайтесь поменять form.method на "get".

+0

, но код работает на локальном сервере, я получаю проблему, если я помещаю его на удаленный сервер, но в любом случае, я попробую GET-метод тоже –

+0

Я тоже пытался использовать GET, но он дает мне такую ​​же ошибку, кажется, что это не так много о передаче переменных, но больше о некотором .htaccess файле конфигурации –

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