首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >以json的形式向服务器提交表单。

以json的形式向服务器提交表单。
EN

Stack Overflow用户
提问于 2015-01-15 15:02:27
回答 1查看 636关注 0票数 1

我试图用JSON中的params向服务器提交一个表单。

代码语言:javascript
运行
复制
form.submit({
  url:'JSONSaveEntry',
  method:'POST'
});

但是它以表格的形式发送所有的东西。

我已经检查过没有一个字段将isFile设置为true (但是,它将发送为multipart-formdata),standardSubmitfalse

我还试着用

代码语言:javascript
运行
复制
Ext.Ajax.request({
  url:'JSONSaveEntry',
  method:'POST',
  params:form.getValues()
});

代码语言:javascript
运行
复制
Ext.Ajax.request({
  url:'JSONSaveEntry',
  method:'POST',
  params:Ext.encode(form.getValues())
});

每个提交都是以form-www-urlencoded的形式完成的,尽管文档明确声明“执行基于Ajax的表单值提交(如果standardSubmit是假的)”。但是,这个句子已经被证明是错误的,因为每当文件字段出现在表单中时,表单就会以多部分的形式提交。

那么,有人知道我如何才能以JSON的形式提交表单吗?

可能性2:我知道,如果我通过model.save()提交一个模型,它可以工作,但是我如何在运行中从表单创建一个模型(而不对字段进行两次硬编码)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-16 20:37:35

我想下面这会解决你的问题。

代码语言:javascript
运行
复制
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)}
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27966335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档