通过AJAX输入验证

时间:2014-08-02 17:18:20

标签: php jquery ajax

我的 index.php

中有以下AJAX
$(document).ready(function() {
     $('.buttono').click(load);
 });

 function load() {
     $.ajax({
         url: 'http://localhost/Generator/js/ajaxRequest.php'
     }).done(function(data) {
         $('#content').append(data);
     });
 }

HTML( index.php 的一部分):

<form method="POST" action="">
    <input type="text" name="input">
    <input type="submit" name="submit" class="buttono" value="Convert">
</form>
<div id='content'></div>

在我的 ajaxRequest.php 中,我有以下PHP代码段:

if ($_POST['input'] == 'dog') {
    echo 'Status 1';
} else if ($_POST['input'] == 'cat') {
    echo 'Status 2';
}

如何通过AJAX执行PHP检查?因此,如果我点击提交按钮并输入了&#39; dog&#39;,则返回字符串状态1

3 个答案:

答案 0 :(得分:2)

我在你的代码中看到的是:

首先你没有指定你的请求方法,

第二,你没有设置$ _POST [&#39; dog&#39;]

我会选择这个ajax:

$.ajax({
  type : "POST",
  url : 'to/url',
  data : { input : $("input[name='input']").val() },
  success :  function(data){
    // do whatever you like
  }
});

答案 1 :(得分:0)

您需要做的是让用户填写表单,然后点击常规按钮,而不是点击type="submit"按钮。然后当该人点击常规按钮提交时。您可以通过以下方式执行此操作:

<!-- HTML -->
<form method="POST">
    <input type="text" id="type"/>
    <button id="submit">Sumbit</button>
</form>


<!-- JS -->
$(document).ready(function(){
    $('#submit').click(onSubmitClicked);
});

function onSubmitClicked(){
    var data = {
        "input": $('#type').val()
    };

    $.ajax({
      type: "POST",
      url: "url/To/Your/Form/Action",
      data: data,
      success: success
    });

    function success(data){
        if(data == 'status 1'){
           //Do something
        }
    }
}

答案 2 :(得分:0)

试试这个:

在你的php文件中:

$res = array();

if ($_POST['input'] == 'dog') {
    $res['status'] = '1';
} elseif ($_POST['input'] == 'cat') {
    $res['status'] = '2';
}

echo json_encode($res);

然后在你的jquery中:

function load(){
    $.ajax({
         type : "POST",
         data : { input : $("input[name='input']").val() }, 
         url:'http://localhost/Generator/js/ajaxRequest.php'
    }).done(function(data){
        $('#content').append(data.status);
    });

}