0

我想将 POST 数据提交到同一(当前)页面,但在回调时只接收我在“if [$_POST]”代码块中回显的 HTML。目前,我确实将 HTML 代码返回到我单击但整个页面的那个跨度,我不确定。

我希望你明白我的意思,因为它非常简单,而且我认为我的代码会让你更加困惑。谢谢!

4

2 回答 2

1

我认为问题是:如果我使用 POST 发送所需的数据,如何仅请求页面的一部分而不是获取完整的源代码?这无法在 Javascript 端正确解决。您真正需要的是在服务器端检查:是否有 POST 数据?如果存在 POST 数据,您应该只用页面的一小部分来形成和响应。此外,您实际上可以解析您刚刚获得的完整页面源并仅找到您需要的部分。但是这样你会遇到与性能和流量相关的问题。作为结论,我建议您使用不同的 URL 只获取一小部分:为不同目的使用不同方法的相同 URL 是不好的做法。

于 2013-10-23T22:17:48.687 回答
0

发送响应后,您需要退出脚本。

<?php if(isset($_POST['is_ajax'])){?>
    goes content
<?php 
} die;
?>

然后是其他内容。

或者更好的方式

    if(
      !empty($_SERVER['HTTP_X_REQUESTED_WITH']) 
      && 
       strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'
    ) {?>
                goes content  
<?php }  die;?>
于 2013-10-23T23:19:38.803 回答