代码之家  ›  专栏  ›  技术社区  ›  user979974

php jquery post 2变量

  •  0
  • user979974  · 技术社区  · 6 年前

    我试图用jquery将包含在2个输入类型文本中的2个变量发布到一个PHP页面。我无法检索数据,我不知道我做错了什么。 一旦我输入2,它就可以用一个变量来工作。

    我的HTML页面 :

    <html>
    <head>
    <title></title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
    
        var tablename = $('#tablename').val();  
        var idEcht = $('#idEcht').val();
                  $.ajax({
            url: 'live_edit.php',
            type: 'POST',
            data: {'tablename=':+tablename, 'idEcht':+idEcht},
            dataType : 'html',
            success:function(data){
              $('p').html('the answer : ' +data);
            }
          });
    
    
    });
        </script>
    <head>
    <body>
    <input id='tablename' type='text' value='test'/>
    <input id='idEcht' type='text' value='idEcht'/>
    
    <p>
        </p>
    </body>
    </html>
    

    我发送数据的PHP脚本 :

    if(isset($_POST['tablename'],$_POST['idEcht'])) {
        $tablename = $_POST['tablename'];
        $idEcht = $_POST['idEcht'];
        echo $tablename;echo $idEcht;
      } else {
        echo "Noooooooo";
      }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Blue    6 年前

    你不需要 + 符号。通过放置 + 前面的符号,实际上您正在尝试转换 tablename idEcht 返回NaN的数字。javascript中的对象符号是 {key: value} . jquery将简单地接受这个对象,并执行所有的魔术来格式化/传递数据到服务器:

    {'tablename': tablename, 'idEcht': idEcht},
    

    您可以在这里看到这是如何工作的:

    $(document).ready(function(){
      var tablename = $('#tablename').val();  
      var idEcht = $('#idEcht').val();
      
      console.log({'tablename=':+tablename, 'idEcht':+idEcht});
      
      console.log({'tablename': tablename, 'idEcht': idEcht});
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <input id='tablename' type='text' value='test'/>
    <input id='idEcht' type='text' value='idEcht'/>
    
    <p>
        </p>