JQuery ajax () возиться с моим .htaccess mod_rewrite - PullRequest
1 голос
/ 17 февраля 2012

Я выполняю простой запрос AJAX () с использованием Jquery (Google размещает 1.7.1 код jquery.min.js)

Код довольно прост:

            $.ajax({
            type: "POST",
            url: "../inc/ajax_msgread_sendPM.php",
            data: "fromuserid=<?php echo $fromuserid; ?>&pmSubject=<?php echo urlencode($pmSubject); ?>&pmBody=" + pmReply,
            success: function(data){
            $("#showSuccess").show("fast");             
            $("#resultResponse").html(data);
            }
        }); 

mod_rewrite .htaccess для этого документа:

RewriteRule ^messages/read/([^/]+)/([^/]+)/?$ /msgread.php?usernam=$1&keynode=$2 [QSA,L]

Когда я по какой-то причине просматриваю $ resultResponse, Ajax постоянно хочет превратить $ 1 в 'inc', поэтому любые несвязанные (или связанные) запросы mySQL, использующие $_GET["usernam"] из URL, заканчиваются возвращением 'inc'

Почему это происходит? Нет никакой связи между моим скриптом и mod_rewrite. В сценарии (или в любом месте сайта) нет переменных с именами «usernam» или «1».

Firebug не помогает.

Посоветуйте пожалуйста?

UPDATE:

Я вижу, откуда проблема ... в коде jjery ajax:

url: "../inc/ajax_msgread_sendPM.php",

"inc" продолжает устанавливаться как имя пользователя из-за его местоположения, основанного на правилах mod_rewrite ... Мне нужно как-то исключить это из mod_rewrite ... просто не знаю, как решить эту проблему

1 Ответ

1 голос
/ 17 февраля 2012

Пока текущий URL для вашей страницы равен

www.domain.com/messages/read/username/NQ

и вы используете относительный путь - он переписывается в

www.domain.com/messages/read/username/inc/ajax_msgread_sendPM.php

, что определенноне то, что вы хотите.Простейшим решением было бы изменить URL-адрес конечной точки ajax на:

url: "/inc/ajax_msgread_sendPM.php",
...