Javascript 为什么PHP echo返回完整的标记html而不是echo中的内容?
我有一个包含一些文本输入的html页面,一些使用ajax发布这些输入数据的jquery,还有一个php脚本来处理输入数据。然后,php脚本返回一些数据。然而,该警报包含一堆我不想返回的html标记。我不知道它为什么这样做 我的HTML: HTML表单 继续 code.js:Javascript 为什么PHP echo返回完整的标记html而不是echo中的内容?,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有一个包含一些文本输入的html页面,一些使用ajax发布这些输入数据的jquery,还有一个php脚本来处理输入数据。然后,php脚本返回一些数据。然而,该警报包含一堆我不想返回的html标记。我不知道它为什么这样做 我的HTML: HTML表单 继续 code.js: $(document).ready(function () { $("#proceed").click(function () { var request = $.post("script.php",
$(document).ready(function () {
$("#proceed").click(function () {
var request = $.post("script.php", { // Post input to php
formData: $("#example").val()
}, function (response) {
console.log(response);
});
});
});
script.php:
如果我在输入中输入值xyz,那么最终记录到控制台的是:
<!DOCTYPE html>
<html>
<body>
["xyz"]</body>
</html>
为什么会发生这种情况?我怎样才能只得到括号内的值?谢谢 将script.php更改为仅包含以下php:
<?php
$example_input = isset($_POST["formData"]) ? $_POST["formData"] : null;
$keywords = preg_split("/[\s,]+/", $example_input);
echo json_encode($keywords);
?>
然后它将只返回该部分 将script.php更改为仅包含以下php:
<?php
$example_input = isset($_POST["formData"]) ? $_POST["formData"] : null;
$keywords = preg_split("/[\s,]+/", $example_input);
echo json_encode($keywords);
?>
然后它将只返回该部分 这就是PHP的工作方式。任何超出范围的内容都会正常输出。这就是如何将静态HTML或任何其他语言与动态结果混合
应该返回JSON的脚本不应该在其前后包含任何HTML代码。这就是PHP的工作方式。任何超出范围的内容都会正常输出。这就是如何将静态HTML或任何其他语言与动态结果混合
只需返回JSON的脚本前后不应包含任何HTML代码。Simple…不要在htmlHTML中包装php代码是echoSimple的一部分…不要在htmlHTML中包装php代码是echoSimple的一部分好的,这很有效!我没有想到要这么做,因为我总是看到php被包装在html中。我想如果php没有使用它,那么包含这些内容就没有意义了。你总能看到这一点,因为php主要用于填充HTML页面。好吧,这很管用!我没有想到要这么做,因为我总是看到php被包装在html中。我想如果php没有使用它,那么包含这些内容就没有意义了,因为php主要用于填充HTML页面。