我试图用JSON中的params向服务器提交一个表单。
form.submit({
url:'JSONSaveEntry',
method:'POST'
});
但是它以表格的形式发送所有的东西。
我已经检查过没有一个字段将isFile
设置为true
(但是,它将发送为multipart-formdata
),standardSubmit
是false
。
我还试着用
Ext.Ajax.request({
url:'JSONSaveEntry',
method:'POST',
params:form.getValues()
});
和
Ext.Ajax.request({
url:'JSONSaveEntry',
method:'POST',
params:Ext.encode(form.getValues())
});
每个提交都是以form-www-urlencoded
的形式完成的,尽管文档明确声明“执行基于Ajax的表单值提交(如果standardSubmit是假的)”。但是,这个句子已经被证明是错误的,因为每当文件字段出现在表单中时,表单就会以多部分的形式提交。
那么,有人知道我如何才能以JSON的形式提交表单吗?
可能性2:我知道,如果我通过model.save()
提交一个模型,它可以工作,但是我如何在运行中从表单创建一个模型(而不对字段进行两次硬编码)?
发布于 2015-01-16 20:37:35
我想下面这会解决你的问题。
Ext.Ajax.request({
url:'JSONSaveEntry',
method:'POST',
headers: { 'Content-Type': 'application/json' },
jsonData : JSON.stringify(form.getValues()),
success : function(response){ console.log("response from server")},
failure : function(error){console.log(error)}
});
https://stackoverflow.com/questions/27966335
复制相似问题