doutang3815 2013-11-11 19:52
浏览 60
已采纳

使用jquery和AJAX提交表单

As the topic name says I'm trying to pass variables from a HTML form to a PHP script with jQuery and AJAX. I've done this before, but today I don't have access to the files. PHP won't print the first name and last name. I found some examples, but whatever I do it's the same... What I'm doing wrong in the last few days?

This is the HTML code:

First Name: <br />
<input type="text" name="fname" /><br />
Last name: <br />
<input type="text" name="lname" /><br /><br />
<input type="submit" name="submit" value="Send" />

Javascript (jQuery):

$(document).ready(function(){
    $('input[name="submit"]').click(function(){
        var fname = $('input[name="fname"]').val();
        var lname = $('input[name="lname"]').val(); 

        $.ajax({
            type: 'POST',
            url: 'index.php',
            data: {fname:fname, lname:lname},
            dataType:"json"
        });

    }); 
});

PHP:

if(isset($_POST['fname']) && isset($_POST['lname'])){
    $fname = $_POST['fname'];
    $lname = $_POST['lname'];
    echo $fname;
    echo "<br />";
    echo $lname;    
}
  • 写回答

2条回答 默认 最新

  • dsznndq4912405 2013-11-11 20:09
    关注

    Either change your PHP to

    if(isset($_POST['fname']) && isset($_POST['lname'])){
        $fname = $_POST['fname'];
        $lname = $_POST['lname'];
        $string = $fname."<br />".$lname;
        echo $string;    
    }
    

    And your jQuery to

    $(document).ready(function(){
        $('input[name="submit"]').click(function(){
            var fname = $('input[name="fname"]').val();
            var lname = $('input[name="lname"]').val(); 
    
            $.ajax({
                type: 'POST',
                url: 'index.php',
                data: {fname:fname, lname:lname},
                success: function(response){
                   console.log(response);
                   // YOUR OWN LOGIC
                   // IE: $('#my_div').append(response);
                }
    
            });
    
        }); 
    });
    

    Or change your PHP to

    if(isset($_POST['fname']) && isset($_POST['lname'])){
        $response = array();
        $response['fname'] = $_POST['fname'];
        $response['lname'] = $_POST['lname'];
        echo json_encode($response);  
    }
    

    And your jQuery to

    $(document).ready(function(){
        $('input[name="submit"]').click(function(){
            var fname = $('input[name="fname"]').val();
            var lname = $('input[name="lname"]').val();
    
        $.ajax({
            type: 'POST',
            url: 'index.php',
            data: {fname:fname, lname:lname},
            dataType:"json"
            success: function(response){
               response = eval(response);
               console.log('First name:' + response.fname);
                console.log('Last name:' + response.lname);
                   // YOUR OWN LOGIC
                   // IE: $('#my_div').append('Last name: ' + response.lname);
            }
    
        });
    
      }); 
    });
    

    I haven't tested any of it but it should put you on the right path. You can also use beforeSend and error / fail callbacks to debug and don't forget to check for a response (Firebug is great for this) it helps a lot.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办