2功能共享相同的ajax功能

时间:2016-10-28 04:59:58

标签: javascript jquery ajax

功能1

ClassSignIn.prototype.Login = function ()
{
var postData = $("#x-form :input").serializeArray();

ClassAjax.ajaxFunction(postData);
}

功能2

ClassSignIn.prototype.RedirectLogin = function (_username, _password)
{
//how do i make my variable look like serializeArray(); and pass to ajax function ?

my code



  var loginData = [];

   loginData.push('login-name', _username);
   loginData.push('login-password', _password);

ClassAjax.ajaxFunction(loginData);
}

ajax功能

ClassAjax.prototype.ajaxFunction = function (_data){

  $.ajax({
  type: "POST",
  url: "/classlogin.php",
  data: _data,
  dataType:'json',
  success:function(data)
  {
    console.log(data);
  },
  error: function(jqXHR, textStatus, errorThrown)
  {

  }
  });

}
我打算让2个登录函数共享相同的ajax函数,但那些登录函数中的2个传递数据不同,第一个函数传入serializeArray,第二个函数传入变量。

第一个功能工作,但第二个功能失败,我怎么能让那两个功能共享相同的ajax?

1 个答案:

答案 0 :(得分:0)

根据您的后端反序列化数据。

<强>尝试

变化:

loginData.push('login-name', _username);
loginData.push('login-password', _password);

到:

loginData.push({'login-name': _username});
loginData.push({'login-password': _password});

变化:

var loginData = []
loginData.push('login-name', _username);
loginData.push('login-password', _password);

到:

var loginData = {}
loginData['login-name'] = _username;
loginData['login-password'] = _password;

编辑以镜像serializeArray()函数