javascript - Wordpress ajax 调用返回整个 html 页面

标签 javascript php jquery ajax wordpress

我有以下一段 JavaScript 代码在我的 WordPress 网站上运行:

var PostData = "Action=refresh-cart";
                     jQuery.ajax({
                       dataType: "text",
                       type: 'POST',
                       url : location.href,
                       cache: false,
                       data : PostData,
                       complete : function() {  },
                       success: function(data) {
                         //   jQuery("#loading-img").hide();

                           // jQuery("#join-class-div-3").html(data);

                        }           
                });

PHP 是:

<?php 

  if(isset($_POST['Action'])) {
        $Action = $_POST['Action'];
        if($Action == "refresh-cart") {


           echo '<div id="stuff"><p> done LOL </p></div>'; 
            }
        }

    ?>

所以我希望被退回:

<div id="stuff"><p> done LOL </p></div>

但是我却收到了整个 html 页面!?为什么!?

最佳答案

它将返回在您的网址“location.href”处呈现的页面中的所有内容

尝试在您的 php 代码中添加 exit() 以在 echo 后停止它。

<?php 
if(isset($_POST['Action'])) {
    $Action = $_POST['Action'];
    if($Action == "refresh-cart") {
         echo '<div id="stuff"><p> done LOL </p></div>';
         exit;
    }
}
?>
<div>html content here will not be displayed</div>

关于javascript - Wordpress ajax 调用返回整个 html 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26999651/

相关文章:

php - 如何创建一个后端系统,用于在上传图像之前向图像添加超链接和标题

php - mod_rewrite 对没有正斜杠的链接的影响?

php - jQuery 使用 PHP 脚本更新 Div

javascript - JQuery .hover/.on ('mouseleave' ) 无法正常运行

Javascript 多重分配重新评估或结果传递?

与 Selenium (RC) 的 Javascript 通信

javascript - WordPress 主题在 IE 8 及以下版本中显示不正确

php - 模板系统范围问题

c# - 在 mvc razor 中编码或解码保存在 cookie 中的空间

javascript - 获取嵌套 DIV 中的元素