使用AJAX发送多个数据

时间:2013-09-10 04:44:01

标签: javascript jquery ajax

这里的简单问题。我想在ajax请求中发送两个字符串作为数据。问题在于这个ajax请求它只发送第二个数据而不是第一个。我如何在一个ajax请求中发送这两个?

$.ajax({ url: '#{add_cards_path}', 
  type: 'POST',
  beforeSend: function(xhr) {xhr.setRequestHeader('X-CSRF-Token', '#{form_authenticity_token}')},
  dataType: "json",

  data: 'credit_uri=' + response.data.uri,  
  data: 'address=' + $('.address').val(),
  success: function(response) {
    window.location.assign(location.protocol + '//' + location.host);
    }
});

我想发送“credit_uri”和“地址”。怎么样?

4 个答案:

答案 0 :(得分:5)

对象不能包含重复键,在您的情况下为data

使用对象文字:

data: {credit_uri: response.data.uri, address: $('.address').val() }

$.ajax会将数据转换为查询字符串。

答案 1 :(得分:1)

使用数据可以将多个数据发送到服务器。

data: {credit_uri: response.data.uri, address: $('.address').val() }

它就像一个物体。

答案 2 :(得分:1)

你可以试试这个。

$.ajax({ url: '#{add_cards_path}', 
      type: 'POST',
      beforeSend: function(xhr) {xhr.setRequestHeader('X-CSRF-Token', '#    {form_authenticity_token}')},
      dataType: "json",
      data: {"credit_uri:" + response.data.uri + ", "address:" + $('.address').val()} 
      success: function(response) {
        window.location.assign(location.protocol + '//' + location.host);
        }
    });

答案 3 :(得分:1)

试试这段代码: -

$.ajax({ url: '#{add_cards_path}', 
      type: 'POST',
      beforeSend: function(xhr) {xhr.setRequestHeader('X-CSRF-Token', '#{form_authenticity_token}')},
      dataType: "json",

      data: 'credit_uri=' + response.data.uri+'&address='+$('.address').val(),
      success: function(response) {
        window.location.assign(location.protocol + '//' + location.host);
        }
    });