使用ajax将文件数据提交到php文件

时间:2018-02-22 14:40:12

标签: php jquery

我必须使用ajax调用只提交两个值来处理php文件。 php文件将使用$ _POST []函数处理数据。问题是我的ajax代码没有正确发送数据所以我没有得到任何结果在console.log(结果)函数。我该如何解决这个问题?任何的想法?

Jquery的:

<script type="text/javascript">
                $("#signup_submit").on( "click", function() {
                  //alert("foo");
                  var _username = "foo";
                  var _email = "test@gmail.com";


                  $.post("check.php", {username: _username, email: _email}, function(result){
                    console.log(result);
                  });



                });
            </script>

PHP:

$username = "";
$email = "";
if ($_POST["username"] && $_POST["email"]) {
    $username = $_POST["username"];
    $email = $_POST["email"];
}

if ($username != "" && $email != "") {
    if (!username_exists($username) && !signup_email($signup_email)) {
        json_encode("good");
    }else{
        json_encode("bad");
    }
}

2 个答案:

答案 0 :(得分:2)

我已经评论了可能的答案,但我会在这里写一下来简化。 您的javascript代码似乎没问题,但将PHP脚本更改为此并尝试:

$username = "";
$email = "";
$response = ""
if ($_POST["username"] && $_POST["email"]) {
    $username = $_POST["username"];
    $email = $_POST["email"];
}

if ($username != "" && $email != "") {
    if (!username_exists($username) && !signup_email($signup_email)) {
        $response = json_encode("good");
    }else{
        $response = json_encode("bad");
    }
}
echo $response;

echo $response如果您没有添加该行,则无法从您的ajax请求中获得任何结果,因此console.log不会显示任何内容。

希望这会帮助你!

答案 1 :(得分:1)

我认为这段代码对您来说非常有用。

 $("#signup_submit").on( "click", function() {
  var _username = "foo";
  var _email = "test@gmail.com";

  $.ajax({
    type: 'POST',
    url: 'check.php',
    dataType: 'text',
    data: {
     username: _username,
     email: _email
   },
   success: function(response) {
    console.log(response);
   },
   error: function(err) {
      alert(err);
   }
  });
 });

和用户#molinet writed一样 - 在php文件中使用$ response然后回显它。

$username = "";
$email = "";
if ($_POST["username"] && $_POST["email"]) {
 $username = $_POST["username"];
 $email = $_POST["email"];
}

if ($username != "" && $email != "") {
 if (!username_exists($username) && !signup_email($signup_email)) {
    $response = "good";
 }else{
   $response = "bad";
 }
}
echo $response;