ajax post方法无法收到php文件中的数据

时间:2016-07-12 16:44:19

标签: javascript jquery ajax

forget.php PHP:

if (! (empty($_POST['emailforget'])) ) {
    echo "here in the function";
} else {
    echo "here";
}

AJAX:

$("#passreset").on('click', function(e) {

  var emailforget = $("#tempemail").val();
  alert(emailforget);
  //ajax call here
  $.ajax({
    type: "post",
    url: 'user/forgetpass.php',
    data: {
      'emailforget': emailforget
    },
    cache: false,
    contentType: false,
    processData: false,
    beforeSend: function() {
      //alert("here in function beforesent");
    },
    success: function(html) {
      //alert(html);
      document.getElementById("error").innerHTML = html;
    },
    error: function() {
      alert("alert error");
    }

  });

  return false;


});

HTML:

<input type="email" id="tempemail" name="tempemail" 
    placeholder="Enter your email address" value="ab.waseem@yahoo.com" required>

代码工作正常,但突然停止工作。

检查Firefox和Chrome控制台没有错误。

电话会完美地发送到相应的档案。

1 个答案:

答案 0 :(得分:2)

问题是processData是假的。只需完全删除此选项即可。如果这不起作用,也请删除contentType

有关详细信息,请仔细阅读options上的文档。

processData设置为false意味着以创建的形式发送数据。设置为true,它将把它处理成一个查询字符串。

默认内容类型标头为application/x-www-form-urlencoded; charset=UTF-8,将内容类型设置为false同样会将其完全删除。

我会远离修改这些默认设置,除非您确切知道为什么需要首先更改它。