我最终设法在我的代码中实现了一个Ajax调用,但是在调用之后我有点困惑如何重定向,我的脚本示例如下所示,我正在使用CodeIgniter开发。:
<script type="text/javascript">
function myFunction() {
var form_data = $('#form1').serialize();
$.ajax({
type: "POST",
dataType: "text",
url: "testproject/main/test",
data: form_data,
success: function(response){
window.location("http://www.google.com");
}
});
window.alert("sometext");
}
</script>
在我的test()php函数中,我可以进行重定向吗?如果不是,我如何将信息传递回JS函数进行重定向?另外作为最后一个问题,如何使用这样的查询动态加载html进入我的页面? (最后一个问题是我好奇/多管闲事)。非常感谢,请耐心等待,因为我是一个完整的新手!
编辑:我的Ajax查询执行时没有问题 - 我的代码永远不会执行:
success: function(response){
window.location("http://www.google.com");
}
我必须以某种方式在php中返回响应吗?
答案 0 :(得分:1)
关于如何在javascript中重定向的快速谷歌将revealed this。你的javascript写错了。你需要:
window.location.href = 'http://www.google.com';
至于在PHP内部重定向,不,你不能这样做。您需要将其传递回javascript才能重定向。您可以通过在PHP页面上回显您想要访问的页面,然后重定向到该页面来实现此目的。
所以在你的PHP页面上你有:
<?php echo 'myurl.html'; ?>
然后在你的Ajax中你有:
window.location.href = response
因为响应将在PHP页面上显示出任何回声。
答案 1 :(得分:0)
试试这个:
<script type="text/javascript">
function myFunction()
{
var form_data = $('#form1').serialize();
$.ajax({
type: "POST",
dataType: "text",
url: "testproject/main/test",
data: form_data,
success: function(response){
window.location.href="http://www.google.com";
// or window.location.assign("http://www.google.com");
}
})
alert("sometext");
}
</script>