使用查询字符串参数传递表单数据
Pass Form Data with Query String Parameters
我正在使用 $.ajax
到 post 两种形式的 select 值并触发重新安装事件,但我无法传递 Form Data
值。
这是我的click.function
$('button.submitForm').click(function (event) {
event.preventDefault()
var form = $(this.form)
var formCont = new mgFormControler(form.attr('id'))
var formData = formCont.getFieldsData()
$.ajax({
url: form.attr('action') +
'&loadData='+ form.attr('index') +
'&namespace='+ form.attr('namespace') +
'&index='+ form.attr('index') +
'&ajax=1' +
'&mgformtype=' + form.attr('mgformtype'),
type: form.attr('method'),
processData: false,
contentType: false,
data: formData
}).done(function (data) {
console.log(form.attr('id'))
console.log(form.attr('namespace'))
data = data.data
if (data.status === 'success') {
console.log(data.status + ': ' + data.message)
} else {
console.log(data.status + ': ' + data.message)
}
});
});
});
dev.tools 中的 header (第一张图片)显示 formData 在查询字符串参数中作为 object 传递,
但我想将其作为单独的元素传递(第二张图片)
我试过 new FormData()
但我总是得到与 object 相同的结果(第一张图片)。
尝试JSON.stringify()
$('button.submitForm').click(function (event) {
event.preventDefault()
var form = $(this.form)
var formCont = new mgFormControler(form.attr('id'))
var formData = formCont.getFieldsData()
$.ajax({
url: form.attr('action') +
'&loadData='+ form.attr('index') +
'&namespace='+ form.attr('namespace') +
'&index='+ form.attr('index') +
'&ajax=1' +
'&mgformtype=' + form.attr('mgformtype'),
type: form.attr('method'),
processData: false,
contentType: false,
data: JSON.stringify(formData) //add this
}).done(function (data) {
console.log(form.attr('id'))
console.log(form.attr('namespace'))
data = data.data
if (data.status === 'success') {
console.log(data.status + ': ' + data.message)
} else {
console.log(data.status + ': ' + data.message)
}
});
});
});
尝试在您的代码中使用:
type: 'POST',
data: jQuery.param({ field1: "hello", field2 : "hello2"}) ,
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
我正在使用 $.ajax
到 post 两种形式的 select 值并触发重新安装事件,但我无法传递 Form Data
值。
这是我的click.function
$('button.submitForm').click(function (event) {
event.preventDefault()
var form = $(this.form)
var formCont = new mgFormControler(form.attr('id'))
var formData = formCont.getFieldsData()
$.ajax({
url: form.attr('action') +
'&loadData='+ form.attr('index') +
'&namespace='+ form.attr('namespace') +
'&index='+ form.attr('index') +
'&ajax=1' +
'&mgformtype=' + form.attr('mgformtype'),
type: form.attr('method'),
processData: false,
contentType: false,
data: formData
}).done(function (data) {
console.log(form.attr('id'))
console.log(form.attr('namespace'))
data = data.data
if (data.status === 'success') {
console.log(data.status + ': ' + data.message)
} else {
console.log(data.status + ': ' + data.message)
}
});
});
});
dev.tools 中的 header (第一张图片)显示 formData 在查询字符串参数中作为 object 传递,
我试过 new FormData()
但我总是得到与 object 相同的结果(第一张图片)。
尝试JSON.stringify()
$('button.submitForm').click(function (event) {
event.preventDefault()
var form = $(this.form)
var formCont = new mgFormControler(form.attr('id'))
var formData = formCont.getFieldsData()
$.ajax({
url: form.attr('action') +
'&loadData='+ form.attr('index') +
'&namespace='+ form.attr('namespace') +
'&index='+ form.attr('index') +
'&ajax=1' +
'&mgformtype=' + form.attr('mgformtype'),
type: form.attr('method'),
processData: false,
contentType: false,
data: JSON.stringify(formData) //add this
}).done(function (data) {
console.log(form.attr('id'))
console.log(form.attr('namespace'))
data = data.data
if (data.status === 'success') {
console.log(data.status + ': ' + data.message)
} else {
console.log(data.status + ': ' + data.message)
}
});
});
});
尝试在您的代码中使用:
type: 'POST',
data: jQuery.param({ field1: "hello", field2 : "hello2"}) ,
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',