Sails.js表示不提交任何数据的帖子

时间:2015-04-21 06:35:23

标签: javascript jquery forms sails.js form-submit

最近,我在发布表单时遇到了一个不寻常的问题。如果没有附件或附件图像文件大小小于100kb,表单帖子可以正常工作。但是当我尝试上传大于100kb的文件时,表单中没有任何元素被发布/提交。当我console.log()时,它给出的值未定义。我无法理解导致问题的原因。控制台屏幕上不显示任何错误。任何人都可以帮忙解决这个问题吗?

var name = req.param('name');
console.log(name);

我得到的结果是undefined

我在Windows 8.1上使用sails v0.10.5。我使用postgres作为我的数据库。

5 个答案:

答案 0 :(得分:8)

使用skipper,您必须将所有输入文件放在表单的末尾。 否则它可能会出错。

答案 1 :(得分:3)

有同样的问题,结果是输入的顺序很重要,请点击github skipper页面

  

重要的是要意识到上面的好处(文本参数)依赖于一个关键的,简化的假设:用户代理在多部分HTTP请求体中的第一个文件参数之前发送任何文本参数。例如,在HTML表单中,这意味着将所有标记放在其他输入之后。如果您不希望以这种方式打印表单,则需要使用AJAX来提交它

答案 2 :(得分:2)

req.param方法用于获取url参数,body参数和查询参数。 (reference

如果您使用multipart/form-data上传文件,Sails会使用 skipper 来解析数据,您只需获取如下文件

req.file('name').upload(function (err, uploadedFiles){
  if (err) return res.send(500, err);
  return res.send(200, uploadedFiles);
});

答案 3 :(得分:1)

更好地使用blueimp jquery文件上传插件..它有多种功能可以帮助你。

答案 4 :(得分:0)

我建议您从风帆中查看官方文件上传文档....

http://sailsjs.org/#!/documentation/concepts/File-Uploads

我按照步骤操作,它适用于我(在风帆v 0.11)。也许你错过了一路上的东西?