发送包含多种类型数据的ajax请求

时间:2017-02-20 13:36:39

标签: javascript jquery ajax

我正在开发一个应用程序,用户可以通过界面设置值并发送ajax请求(类似于rest api)。

我想知道如何在单个请求中发送属于多个类型的数据。示例如下,

表格数据

var data = {'key1':'Key1Value','key2':'Key2Value'};
//content-type : application/x-www-form-urlencoded

原始数据

var data = 'This is plain text raw value';
//content-type : text/plain

我应该如何组合上面的值来发送下面的ajax请求,

$.ajax({
    type: "POST",
    url: "ajax/activity.php",
    data: {combined data},
    timeout: 3000,
    async: true,
    success: APIClient.baseSuccess,
    error: APIClient.baseError
  });

4 个答案:

答案 0 :(得分:2)

也许发送带有这两个参数的json对象?

$.ajax({
        type: "POST",
        url: "ajax/activity.php",
        data: {
            first: data_object,
            second: data_string
        },
        timeout: 3000,
        async: true,
        success: APIClient.baseSuccess,
        error: APIClient.baseError
    });

答案 1 :(得分:1)

试试这样..

var data = {'key1':'Key1Value','key2':'Key2Value'};
var text= 'This is plain text raw value';
data.text = text; //adds text to data object

然后

ajax

data: data,

答案 2 :(得分:1)

使用$.extend()功能。



var dataText = 'This is plain text raw value';
$.ajax({
  type: "POST",
  url: "ajax/activity.php",
  data: $.extend({
    key1:'Key1Value',key2:'Key2Value'
}, dataText),
  timeout: 3000,
  async: true,
  success: APIClient.baseSuccess,
  error: APIClient.baseError
});




答案 3 :(得分:0)

您可以使用JSON发送所有类型的数据:

{
    "data": {
        "arrayOfValues": {
            "key1": "Key1Value",
            "key2": "Key2Value"
        },
        "someString": "This is some tring value that I want to send"
    }
}

将此对象分配给变量并在AJAX调用中发送它。当然,您需要考虑服务器端接收数据的方式/方式。