jQuery Ajax 返回整个页面

2022-08-30 14:49:44

我有一个jquery-ajax函数,它将数据发送到php脚本,问题在于返回值,它返回整个页面而不是单个值。

感谢您的时间和帮助。

$("#ajaxBtn").click(function(){
  var inputText = $("#testText").val();

  $.ajax({ type: "POST",
    url: "index.php",
    data: "testAjax="+inputText,
    dataType: "html",
    success: function(html){
      alert(html);
    }
  });
});         

答案 1

这就是它的工作原理。您是通过 AJAX 请求的,因此您将获得 任何内容。index.phpindex.php

如果需要特定值,请创建一个仅输出该值的新 PHP 页面,并改为请求该 URL 的内容。


答案 2

所以当你在开始时有这个吗?index.php

<?php 
   if (isset($_POST["testAjax"])) { 
       echo $_POST["testAjax"]; 
   } 
?>

如果此脚本正在输出更多文本,那么当然 Ajax 调用也会接收此脚本。您可以放在回显之后,以防止进一步处理脚本:exit()

if (isset($_POST["testAjax"])) { 
    echo $_POST["testAjax"];
    exit();
}

此外,您返回的值显然不是HTML。dataType: 'text'


或者像其他人建议的那样,创建一个负责处理Ajax请求的新页面。如果您所做的不仅仅是输出接收的值(即更复杂的操作),则无论如何都应该这样做。


推荐