我相信我在某个地方犯了一个非常基本的错误。
我有一个我希望传输到PHP页面的表单。我还想发送一个包含该信息的参数,因此我创建了一个基本的2D数组: $ fd ['api'] - >将参数作为字符串 $ fd ['body'] - >包含表单数据
我正在努力将此数组“$ fd”作为json字符串传输,并且相信我在某处错误地使用了javascript语法,因为我不经常使用Javascript。
任何帮助都将不胜感激。
function admin_statistics_form_send(){
var fd = []
fd['api'] = "refresh_all"
fd['body'] = new FormData(document.getElementById("admin_statistics_form"))
var jsonstring = fd
console.log(jsonstring)
$.ajax({
async: true,
beforeSend: function(){
},
url: "admin_statistics_api.php",
type: "POST",
data: jsonstring,
dataType: "json",
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
success: function (data) {
console.log(data)
},
error: function(data) {
console.log(data)
}
})
}
答案 0 :(得分:2)
您只想发送FormData对象。要将 append 的其他键/值对添加到该对象:
function admin_statistics_form_send(){
var fd = new FormData($("#admin_statistics_form")[0]);
fd.append('api',"refresh_all");
$.ajax({
//async: true, // redundant since it is default and should never use `false`
beforeSend: function(){
},
url: "admin_statistics_api.php",
type: "POST",
data: fd,
dataType: "json",
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
success: function (data) {
console.log(data)
},
error: function(data) {
console.log(data)
}
})
}