我正在使用jquery插件“core-ui-select”来设置我的表单选择元素。 http://jquery-plugins.net/jquery-coreuiselect-stylize-select-element-with-jquery-and-css
它与此网址完美配合: 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/
问题来自哪里?我环顾四周但无法想象。
答案 0 :(得分:1)
您在AJAX调用中使用相对URL:
$.ajax({
type: "post",
url: "tshirt_ajax.php?checkshop=266497&checkproducttype=210&stockcolor=" + $('#productColor5770759').val() + "¤tsize=" + currentsize,
success: function(data){
$('select#size').html(data);
$('#size').coreUISelect();
$('#quantity').coreUISelect();
}
});
当网页网址为/tshirt.php
时,AJAX网址会转到/tshirt_ajax.php
。但是当页面网址为/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¤tsize=3
将网址更改为:
url: "/tshirt_ajax.php?checkshop=266497&checkproducttype=210&stockcolor=" + $('#productColor5770759').val() + "¤tsize=" + currentsize,
答案 1 :(得分:1)
由于url路径中的额外目录,您的ajax中存在路径问题。由于请求失败,插件永远不会被初始化,因为success
回调永远不会触发
您有实际网址:
$.ajax({
url: "tshirt_ajax.php?...
.....
});
如果您将其更改为绝对网址将起作用
url: "//www.ni-dieu-ni-maitre.comt/shirt_ajax.php?..."
如果查看浏览器控制台的newtork选项卡,将看到请求的404(未找到)