[英]Ajax not working with .htaccess`rewrite url
我創建基本項目並使用htaccess重寫url和jquery ajax
的.htaccess:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)$ index.php?param=$1
gallery.php:
<script type="text/javascript">
window.onload = function() {
$.ajax({
type: "POST",
url: "/test1/controller.php",
data: {brand:"<?php echo $id;?>"},
dataType: "json",
success: function (data) {
alert(data.response)
}
});
}
controller.php:
$brand=$_REQUEST['brand'];
$arr = array ('response'=>$brand.'___jason','comment'=>'test comment here');
echo json_encode($arr);
但是當在瀏覽器的地址欄中寫網址時,例如:
http://localhost/test1/gallery/gucci
jQuery的ajax無法正常工作,但寫時:
http://localhost/test1/gallery
jQuery ajax運行良好。
我必須使用url(gucci)的結尾作為id,但是當我編寫它時,jQuery無法正常工作
首先...您沒有告訴我們您在哪里運行什么框架或什么軟件。
根據您的瀏覽器使用firebug或其他控制台插件,打開它,轉到“控制台”選項卡,刷新頁面...您應該在那看到ajax調用,然后可以單擊它,並確切地查看出了什么問題或什么問題錯誤,甚至是發送的錯誤。
看到這個: http : //screencast.com/t/5TQhLOzKq5
在控制台或js錯誤控制台中,如果您的jQuery加載不正確的示例,您將得到一個未定義的$
在通過URL重寫對ajax調用使用相對路徑時,請記住, 目錄相對於url而言是相對變化的 。
為了避免這種行為,請使用絕對路徑或在html中設置基本標記,如下所示:
<base href='http://your-server-address.com'/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.