簡體   English   中英

Ajax無法使用.htaccess`重寫url

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM