[英]Send message from php to ajax with 'echo json_encode' not working
我正在尝试从php向ajax发送消息。 我正在使用echo json_encode
来做到这一点。 当我这样做时,网站将显示arrays
消息。 ( {"foo":"content of foo"}
)。 如何获取不显示消息的信息?
而且,ajax的警报不会被调用。
这是代码:
<?php
$myString = $_POST['data'];
if ($myString == "") {
echo json_encode(
array()
);
} else if ($myString == "foo" {
echo json_encode(
array(
'foo2' => 'this is the contents of foo'
)
);
} else if ($myString == "foo2") {
echo json_encode(
array(
'foo2' => 'this is the contents of foo2'
)
);
}
?>
<script>
var formData = new FormData($(this)[0]);
$.ajax({
url: $(this).attr("action"),
context: document.body,
data: formData,
type: "POST",
contentType: false,
processData: false,
success: function(response) {
if (response.length == 0) {
alert("empty");
} else if (response.foo) {
alert("foo");
} else if (respons.foo2) {
alert("foo2");
}
}
});
</script>
如何使阵列不显示在网站上? 以及为什么没有调用ajax语句?
您需要在脚本顶部设置HTTP标头,以便返回son:
header('Content-type: application/json');
您的脚本有点混乱。 您无法返回json和html / javascript。
是一个或另一个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.