2010-08-16 48 views
0

我有以下代码:jQuery的 - 为什么我不能.php为后缀添加到该阿贾克斯负载功能

<script type="text/javascript"> 
    $(function() { 
    $('#bootChooserControl') 
     .load('/jqia2/action/fetchBootStyleOptions'); 

    $('#bootChooserControl').change(function(event){ 
     $('#productDetailPane').load(
     '/jqia2/action/fetchProductDetails', 
     {style: $(event.target).val()}, 
     function() { $('[value=""]',event.target).remove(); } 
    ); 
    }); 

    }); 
</script> 

我的问题是,为什么它不工作对我来说,如果我改变load('/jqia2/action/fetchBootStyleOptions')load('/jqia2/action/fetchBootStyleOptions.php')

同样的问题发生在fetchProductDetails

谢谢。

+2

你能用浏览器访问这些页面吗? – 2010-08-16 01:40:05

+0

您是否在Firebug中遇到任何错误? http://getfirebug.com – Whit 2010-08-16 01:56:32

+0

是的,我可以直接访问这些页面。 但是,我发现了一些新的东西。请看我对罗伯特的评论。 谢谢 – q0987 2010-08-16 02:26:53

回答

1
/jqia2/action/fetchBootStyleOptions 

正在被.htacccess规则重写

/jqia2/chapter8/bootcloset/actions/fetchBootStyleOptions.php 

所以如果你想直接调用它,你可以使用

load('/jqia2/chapter8/bootcloset/actions/fetchBootStyleOptions.php') 
1

除非你只是通过添加.php来指向无效文件这一事实(试着在你的函数中放入window.location = "/jqia2/action/fetchBootStyleOptions.php";手动导航,看看它是否拉出来),你可能会遇到MultiViews的问题,请检查你的htaccess的,你还可以检查出http://httpd.apache.org/docs/1.3/content-negotiation.html

+0

大家好, 我已经找到这个文件的内容.htaccess ///////////////////////////// /// RewriteEngine叙述上 #/动作/ XXX - > /chapter8/bootcloset/actions/xxx.php 重写规则^动作/(.*)/jqia2/chapter8/bootcloset/actions/$1.php [L] /////////////////////////// 确实这会导致问题? 谢谢 – q0987 2010-08-16 02:25:53

+0

通过删除.htaccess中的所有语句不能解决此问题。 谢谢 – q0987 2010-08-16 03:59:47

+0

您是否尝试过其他部分,让您的脚本将您重定向到该路径。 – Robert 2010-08-16 04:21:48