0

フォームを動的に作成するために、(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 フォームは、クラス「users」の「register」というメソッドによって処理されることを意図しています ( f.setAttribute('action', "users/register");)

しかし、私が得ているのはエラー500内部サーバーエラーだけです。および CodeIgniter ログで:

An Error Was Encountered. The action you have requested is not allowed.

誰かがアイデアを持っていますか?

4

1 に答える 1

1

このエラーは Security.php によって生成されているようです。 config フォルダーの config.php に変更csrf_protectionします。false

$config['csrf_protection'] = FALSE; 

詳細については、次のリンクを参照してください。

http://ellislab.com/forums/viewthread/163976/

于 2013-06-25T11:26:09.383 に答える