Ajax вывел текст серверного скрипта

Redjik

Джедай-мастер
"баловался" c Ajax и неожиданно получил весь пхп скрипт включая теги <?php ?>...

В принципе меня это не расстроило, запустил этот же аякс запрос через контроллер, а саму папку со скриптом сделал недоступной через .htaccess...

Но все равно остался вопрос ... почему он не стал выполнять скрипт а просто как текст воспринял...

Вот сам JS код (само собой jQuery)
PHP:
function delMsg(id){
    
    $.ajax({
	type: "POST",
	url: "operations.php",
	dataType: 'text',
	data: "action=delMsg&id="+id,
	success: function(data){
	    if(data.indexOf('Error:') == -1){
		showTips($("#notify_"+id), 'success', data);
		setTimeout(function() {
		    $("#post_"+id).slideUp('slow');
		}, 1500);

	    }else{
		if(data=='')  data = 'Unknow error';
		showTips($("#notify_"+id), 'error', data);
	    }
	}
    });
}
 

Redjik

Джедай-мастер
ОМГ, дубль 2...

Ява Скриптом отправил POST запрос в ответе пришло
PHP:
<?php

  header("Content-Type: text/html; charset=utf-8");

  $action = trim($_POST["action"]);

  $messageReturn = "Error: The parameter is incorrect.";..............?>
Вот что пишет гугль отладчик

PHP:
Status Code:200 OK
Request Headers
Accept-Charset:windows-1251,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Connection:keep-alive
Content-Length:22

Host:www.kat.rr
Origin:http://www.kat.rr
Referer:http://www.kat.rr/zadat-vopros
User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30
accept:text/plain, */*; q=0.01
content-type:application/x-www-form-urlencoded
x-requested-with:XMLHttpRequest
Form Dataview URL encoded
q:
action:delMsg
id:25
Response Headers
Accept-Ranges:bytes
Connection:Keep-Alive
Content-Length:3003
Content-Type:application/x-httpd-php
Date:Tue, 28 Jun 2011 06:44:29 GMT
ETag:"ad63-bbb-9ded400a"
Keep-Alive:timeout=5, max=100
Last-Modified:Tue, 28 Jun 2011 06:17:05 GMT
Server:Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8k PHP/5.3.3
После этого сделал этот же запрос через контроллер, в q прописал путь до скрипта - все норм заработало...
 

Redjik

Джедай-мастер
Мануал для нубиков не дает ответ на мой вопрос - почему вместо результата работы скрипта я в итоге получаю сам скрипт вплоть до тегов <?php >
 

baev

‹°°¬•
Команда форума
«Мануал для нубиков» ясно намекает, что причину надо искать на стороне сервера, а не в javascript'е.
 

shelestov

я тут часто
Это вам лучше у своего сервера спросить, почему он php-скрипты как простой текст отдает.
Вы operations.php пробовали просто в браузере запустить? Что выдает?
 

Redjik

Джедай-мастер
«Мануал для нубиков» ясно намекает, что причину надо искать на стороне сервера, а не в javascript'е.
Поэтому я задал вопрос на этом форуме, а не Java Script - может просто у кого-нибудь было такое...

Говорю же - проблема уже решена, через коннектор ... но вот непонимаю почему коннектор он воспринемает как скрипт а operations нет ...
 

Redjik

Джедай-мастер
О боги =)

Отправляю POST c id на скрипт с название operations.php - не работает, показывает мне непосредственно текст скрипта.

Отправляю POST с id и q=operations.php на контроллер - все работает скрипт выполняется...

Вопрос - что может ТАК повлиять, что скрипт не распознается как скрипт...
 

Redjik

Джедай-мастер
Вопрос снимается - внимательно просмотрел структуру папок ... в подкатегории валялся .htaccess отрубающий выполнение скриптов... facepalm
 

Mols

Новичок
Иван Redjik Матвеев
У Вас похоже приличная каша в голове.
Как обрабатывать файл решает сервер.
Соответственно повлиять могут настройки сервера (о чем уже сказано выше)
А POST или GET - это до одного места. Равно как и то, что запрос асинхронный.
 

Вурдалак

Продвинутый новичок
Иван Redjik Матвеев, тебе предлагали с самого начала попытаться написать в адресной строке http://example.com/operations.php и убедиться, что скрипт не выполняется, для этого не нужен никакой AJAX.
 
Сверху