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