Sop*_*ish 22 php jquery return-value
我有一个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);
}
});
});
Run Code Online (Sandbox Code Playgroud)
cee*_*yoz 36
这就是它的工作原理.您正在index.php通过AJAX 请求,因此您将获得所有内容index.php.
如果您想要一个特定的值,请创建一个仅输出该值的新PHP页面,并请求该URL的内容.
Fel*_*ing 12
那么当你index.php在开始的时候有这个吗?:
<?php
if (isset($_POST["testAjax"])) {
echo $_POST["testAjax"];
}
?>
Run Code Online (Sandbox Code Playgroud)
如果此脚本正在输出更多文本,那么当然这也将通过Ajax调用接收.您可以exit()在echo之后放置以防止脚本被进一步处理:
if (isset($_POST["testAjax"])) {
echo $_POST["testAjax"];
exit();
}
Run Code Online (Sandbox Code Playgroud)
也可以使用dataType: 'text'返回的值显然不是HTML.
或者像其他人建议的那样,创建一个负责处理Ajax请求的新页面.如果您所做的不仅仅是输出接收到的值(即更复杂的操作),那么无论如何都应该这样做.
Sophia,在您的情况下,您不应将数据发送到php文件,如果通过Web浏览器查看,则显示网站页面.您应该将您的信息发送到一个php文件,该文件只返回您希望返回的数据.
因此,不要使用"index.php",而是创建一个名为"my-ajax-script.php"的文件.该文件应包含任何必要的"include()"文件以连接到数据库和您的php函数文件(即:用于清理POST数据).然后该文件应具有处理POST数据的代码,并使用一些html标记回显出数据.此数据将插入到您现有的DOM(html标记)中.
| 归档时间: |
|
| 查看次数: |
49324 次 |
| 最近记录: |