无法将数据从ajax帖子返回到self

时间:2016-09-27 13:37:35

标签: jquery

我正在尝试将一个表单发布到自我,该表单可以在禁用javascript时使用,或者如果启用了javascript则使用ajax。

以下示例在禁用javascript时有效,但是使用ajax成功返回response

<?php

if (isset($_POST['form'])) {

  $return['msg'] = 'congrats. it was posted to self';

  if (isset($_POST['ajax'])) {
    echo json_encode($return);
  }

}

?>

<script type="text/javascript">

$(document).ready(function() {

$('#test-form').submit(function(e) {

  var postTo = location.href;

  var formData = $(this).serialize()+'&ajax=true';

  $.ajax({
    type: 'POST',
    url: postTo,
    data: formData,
    dataType : 'json',
    success: function(response) {
      console.log(response); // Not getting anything here
      $('#test-form-response').html(response.msg);          
    }
  });

  e.preventDefault();

});

}); // End doc ready

</script>

<form id="test-form" method="post" class="validate">
  <input type="hidden" name="form" value="test">
  <input type="submit" id="submit-button" value="Submit">
</form>

<div id="test-form-response"><?php if (isset($return['msg'])) { echo $return['msg']; } ?></div>

1 个答案:

答案 0 :(得分:1)

主要的是这里请求是Ajax然后在回显JSON数据后终止脚本

if (isset($_POST['ajax'])) {
    echo json_encode($return);
    exit;
}