我正在开发一个应用程序,用户可以通过界面设置值并发送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
});
答案 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调用中发送它。当然,您需要考虑服务器端接收数据的方式/方式。