为了动态创建表单,我做了类似的事情(在js函数中):
member = memberInfo.values[0];
// create the sign up form
var f = document.createElement("form");
f.setAttribute('method',"post");
f.setAttribute('name',"linkedInForm");
f.setAttribute('action', "users/register");
// add fields to the form
var fName = document.createElement("input");
fName.setAttribute('type',"hidden");
f.setAttribute('name',"linkedInForm");
fName.setAttribute('value',member.firstName);
我正在将字段添加到表单
// append fields to the form
f.appendChild(fName);
然后提交它:
document.getElementsByTagName('body')[0].appendChild(f);
f.submit();
此js表单应由“user”(f.setAttribute('action', "users/register");
)类中名为“register”的方法处理
但我得到的只是一个错误500内部服务器错误。在CodeIgniter日志中:
An Error Was Encountered. The action you have requested is not allowed.
有人有想法吗?
答案 0 :(得分:1)
这个错误似乎是由Security.php生成的,在config文件夹的config.php上将csrf_protection
更改为false
。
$config['csrf_protection'] = FALSE;
您最好查看下面的链接以获取更多参考资料