I am performing a simple AJAX() request using Jquery (Google hosted 1.7.1 jquery.min.js code)
The code is pretty simple:
$.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);
}
});
The mod_rewrite .htaccess for this document is:
RewriteRule ^messages/read/([^/]+)/([^/]+)/?$ /msgread.php?usernam=$1&keynode=$2 [QSA,L]
When I view the $resultResponse for some reason the Ajax keeps wanting to turn $1 into ‘inc’ so any unrelated (or related) mySQL queries using $_GET["usernam"] from the URL ends up returning ‘inc’
Why is this happening? There is no relation between my script and the mod_rewrite. There are no variables named “usernam” or “1” on the script (or anywhere on the site).
Firebug gives no help.
Advice please?
UPDATE:
I see where the problem is coming from.. in the ajax jquery code:
url: “../inc/ajax_msgread_sendPM.php”,
the “inc” keeps getting set as the username because of its location based on the mod_rewrite rules… I need to somehow exclude this from mod_rewrite… just not sure how to solve this problem
As long as current url for your page is
and you use relative path – it is being rewritten to
which is definitely not what you want. The simplest solution would be to change the ajax endpoint url to: