簡體   English   中英

使用“ echo json_encode”將信息從php發送到ajax

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM