繁体   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