[英]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.