【问题标题】:How to pass two variables to php,mySQL using ajax jquery如何使用ajax jquery将两个变量传递给php,mySQL
【发布时间】:2015-06-10 08:21:50
【问题描述】:
$("#submit_login").click(function(){
       var username=$('input[name=user_email]');
       var password=$('input[name=user_password]');
       var data;
       data: "name="+username+"&pwd="+password,
         $.ajax({
                type: "POST",
                dataType: "json",
                url: "newExam.php", 
                data: data,
                success: function(data) {
                     alert("Form submitted successfully");
                }
              });     

   }); 

如何提供数据变量以便我们可以在 PHP 中使用 $_REQUEST 获取它? 数据变量的上述表示显示错误。

【问题讨论】:

  • 你能补充一下错误吗?

标签: php jquery mysql ajax


【解决方案1】:

您可以将数据作为json传递,

$.ajax({
    type: "POST",
    dataType: "json",
    url: "newExam.php",
    data:  {
        name: username,
        pwd: password
    },
    success: function(data) {
        alert("Form submitted successfully");
    }
});

此外,名称应与函数中的参数匹配。

【讨论】:

    【解决方案2】:

    客户端

    $("#submit_login").click(function(){
    
           var username=$("input[name='user_email']").val();
           var password=$("input[name='user_password']").val();
    
             $.ajax({
                    type: "POST",
                    dataType: "json",
                    url: "newExam.php", 
                    data: {name : username, pwd : password },
                    success: function(data) {
                         alert("Form submitted successfully");
                    }
                  });     
    
       }); 
    

    服务器端

    <?php
    
    // file : newExam.php     
    
    // to view  post array
    if(!empty($_POST))
    {
       print_r($_POST);
    }
    
    // access individual element
    if(isset($_POST['name']))
    {
       echo $_POST['name'];
    }
    
    ?>
    

    【讨论】:

      【解决方案3】:

      上述数据变量的表示显示错误。

      当然。这是正确的,因为存在错误。您有一个变量,并且您正在分配一个带有 : 的查询字符串,它应该是 =

      data= "name="+username+"&pwd="+password;
      

      但这不是一个好主意,因为您必须发布值而不是输入对象。用户名是一个 html 输入元素,而不是你应该发布一个像这样的对象:

      $("#submit_login").click(function(){
         var username=$('input[name=user_email]').val();
         var password=$('input[name=user_password]').val();
         var data = {name:username, pwd:password};
         $.ajax({
           type: "POST",
           dataType: "json", // <---make sure you return json from the php side.
           url: "newExam.php", 
           data: data,
           success: function(data) {
               alert("Form submitted successfully");
           }
         });     
      }); 
      

      【讨论】:

        【解决方案4】:

        你的选择器在我看来不合适。

           var username=$('input[name="user_email"]');
           var password=$('input[name="user_password"]');
        

        注意输入名称属性周围的双引号

        【讨论】:

          【解决方案5】:

          你能试试下面的代码格式吗:

          data: {name : username, pwd : password }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-12-15
            • 1970-01-01
            • 2015-04-12
            • 1970-01-01
            • 2015-04-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多