2013-12-21 88 views
0

我正在使用jquery插件「core-ui-select」來設計我的表單選擇元素。 http://jquery-plugins.net/jquery-coreuiselect-stylize-select-element-with-jquery-and-csscore-ui-select重寫URL後不工作

它與這個URL完美的工作: https://www.ni-dieu-ni-maitre.com/tshirt.php?t=t-shirt-A5770759

,但一旦我使用htaccess的重寫URL,它不工作了: https://www.ni-dieu-ni-maitre.com/A-5770759/t-shirt/

任何線索那裏的問題來自?我環顧四周,但無法形象。

回答

1

您使用相對URL在您的AJAX調用:

$.ajax({ 
    type: "post", 
    url: "tshirt_ajax.php?checkshop=266497&checkproducttype=210&stockcolor=" + $('#productColor5770759').val() + "&currentsize=" + currentsize, 
    success: function(data){ 
     $('select#size').html(data); 
     $('#size').coreUISelect(); 
     $('#quantity').coreUISelect(); 
    } 
}); 

當頁面URL是/tshirt.php,AJAX的網址去/tshirt_ajax.php。但是,當頁面的URL是/A-5770759/t-shirt/它去/A-5770759/t-shirt/tshirt_ajax.php,這是行不通的。由於AJAX調用失敗,它永遠不會進入success:函數,因此它從不調用coreUISelect()

如果你進入失敗頁面上的Javascript控制檯,你應該看到此錯誤消息:

Failed to load resource: the server responded with a status of 404 (Not Found) 
    https://www.ni-dieu-ni-maitre.com/A-5770759/t-shirt/tshirt_ajax.php?checkshop=266497&checkproducttype=210&stockcolor=2&currentsize=3 

更改網址:

url: "/tshirt_ajax.php?checkshop=266497&checkproducttype=210&stockcolor=" + $('#productColor5770759').val() + "&currentsize=" + currentsize, 
1

你在你的Ajax有一個路徑問題作爲url路徑中的額外目錄的結果。由於請求失敗,該插件永遠不會被初始化,因爲success回調永遠不會觸發

你有realtive網址:

$.ajax({ 
    url: "tshirt_ajax.php?... 
    ..... 
}); 

如果將其更改爲絕對URL將工作

url: "//www.ni-dieu-ni-maitre.comt/shirt_ajax.php?..." 

如果你看看在瀏覽器控制檯的newtork選項卡中將看到請求404(未找到)

+0

「.com」後缺少一個斜槓。你不需要在URL中輸入主機名,你可以使用絕對路徑名。 – Barmar