【问题标题】:Jquery Ajax Post array of input dataJquery Ajax Post 输入数据数组
【发布时间】:2017-07-05 09:54:08
【问题描述】:

我正在写一个东西来比较两个密码,如果它们匹配,脚本会发出一个响应,说它是相同的。

我目前有这个代码:

$("#repeatPw").keyup(function(){
    jQuery.ajax({
        url: "System/Javascript/Functions/checkPasswords.php",
        data: "'password1'='" + $("#Password").val() + "', 'password2'='" + $("#repeatPw").val() + "'",
        type: "POST",
        success: function(data) {
            $("#passwordMatch").html(data);
        },
        error: function(data) {}
    });
});

现在我的问题是我无法在正确的数组中获取这个密码 1 和密码 2,我可以在 checkPasswords.php 中爆炸,这个帖子是这样的:

数组(['password1'] => 'fasfasdfasSD2', 'password2'='asdasdasd')

但这不是一个正确的数组,因为它只将密码 1 放入正确的数组格式,我将如何将密码 2 也设为这种格式?

提前谢谢大家!

【问题讨论】:

  • 我想知道为什么你必须在你的服务器中检查这个?您可以在客户端本身进行验证。
  • 在 js 中,您可以像这样创建数组:var array = [ ]; 然后您可以使用push() 在其中添加项目。另一种方法是创建一个 JSON 对象。 data : {'password1' : $("#Password").val(), 'password2' : $("#repeatPw").val() }

标签: javascript php jquery arrays ajax


【解决方案1】:

您可以使用 FormData 对象来做到这一点:

$("#repeatPw").keyup(function(){
  var fd = new FormData();
  fd.append('password1', $("#Password").val());
  fd.append('password2', $("#Password").val());
  jQuery.ajax({
    url: "System/Javascript/Functions/checkPasswords.php",
    data: fd,
    type: "POST",
      success: function(data) {
        $("#passwordMatch").html(data);
    },
    error: function(data) {}
  });
});

或者使用 JSON 方式:

$("#repeatPw").keyup(function(){
  jQuery.ajax({
    url: "System/Javascript/Functions/checkPasswords.php",
    data :{
            password1: $("#Password").val(),
            password2: $("#repeatPw").val(),
            },
    type: "POST",
    success: function(data) {
        $("#passwordMatch").html(data);
    },
    error: function(data) {}
  });
});

【讨论】:

    【解决方案2】:

    创建一个数组并将其作为ajax post数据传递,

       var data=[];
    
        data['password1']= $("#Password").val();
        data['password2']= $("#repeatPw").val();
    

    虽然您可以在客户端本身执行此操作。

    if($("#Password").val().trim() == $("#repeatPw").val().trim())
        //password Matches
    

    【讨论】:

      【解决方案3】:

      希望对你有所帮助..

      $("#repeatPw").keyup(function(){
        jQuery.ajax({
          url: "System/Javascript/Functions/checkPasswords.php",
          data :{
                  password1: $("#Password").val(),
                  password2: $("#repeatPw").val(),
                  },
          type: "POST",
          success: function(data) {
              $("#passwordMatch").html(data);
          },
          error: function(data) {}
        });
      });
      

      【讨论】:

        【解决方案4】:

        这样试试

        $("#repeatPw").keyup(function(){
        jQuery.ajax({
            url: "System/Javascript/Functions/checkPasswords.php",
            data: {'password1' : $("#Password").val(), 'password2' : $("#repeatPw").val() },
            type: "POST",
            success: function(data) {
                $("#passwordMatch").html(data);
            },
            error: function(data) {}
        });
         });
        

        【讨论】:

          猜你喜欢
          • 2013-01-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-08-07
          • 2014-11-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多