Php 当AJAX调用页面时,页面重新加载不起作用
假设这是我的AJAXPhp 当AJAX调用页面时,页面重新加载不起作用,php,ajax,reload,Php,Ajax,Reload,假设这是我的AJAX function call_page(id) { $.ajax({ type: "POST", url: "call_me.php", data: "id=" + id, success: function(msg){ } }); } 已成功调用call_me.php 假设这是我的call_me.php内容 <?php
function call_page(id)
{
$.ajax({
type: "POST",
url: "call_me.php",
data: "id=" + id,
success: function(msg){ }
});
}
已成功调用call_me.php
假设这是我的call_me.php内容
<?php
$var = $_POST['id'];
if(empty($var))
{
header("location: call_me.php?id=101");
}
else
{
do something...
}
?>
假设始终满足第一个条件“if(empty($var))”。
页面必须重新加载并转到else语句。
但这并没有发生。我猜页面没有重新加载
我怎样才能纠正这个问题?
谢谢 试试这个
<?php
$var = $_GET['id'];
if(empty($var))
{
// here flag for redirection is set
echo 1;
}
else
{
do something...
}
?>
首先使用
exit()
afterheader(“位置:call_me.php?id=101”)代码>除了AJAX,您还期望什么?标题将导致在AJAX的success函数中返回新信息(success:function(msg){}
),并且您在AJAX中使用了POST,但是您得到的是$\u GET
,我不需要页面返回任何信息。我是否应该删除success:function(msg){}?否。您希望通过javascript将浏览器页面刷新为从AJAX响应中获得的页面?您想要什么?最好以JSON格式返回内容。例如{'status':'fail'}
。然后你可以检查它们,比如if(msg.status=='fail'){/*然后…*/}
Yes,但是他没有使用任何数据格式。所以我认为他可以在没有json的情况下工作。是吗?+1.是的,但我刚才说更好。但当事情变得更复杂时,你应该使用它。而且当你使用JSON时,你要确保“1”不是来自echo('w'='w')代码>ie
$.ajax({
type: "POST",
url: "call_me.php",
data: "id=" + id,
success: function(msg){
// checking the response is for redirection
if(msg == 1)
// javascript code for redirecting to callme.php
window.location = "call_me.php?id=101";
}
});