誰が私が間違っているのか教えてもらえますか? 私は、ユーザー グループに出入りするための簡単なシステムを作成しています。そのために、Dojo と Perl を使用しています。(もし私が自分のやり方でそれを行うことができれば、それはPHPになりますが、私はボスではありません。)
現時点では、Perl 用、JavaScript 用、CSS スタイル用の 3 つのファイルしか使用していません。
CGI スクリプトの開始は、次のようにさまざまな機能にルーティングされます。
if ($search = $cgi->param('psearch')) {
dbConnect();
jsonSearchPersons($search);
dbDisconnect();
} elsif ($user_id = $cgi->param('person')){
dbConnect();
create_form($user_id);
dbDisconnect();
} elsif ($user_id = $cgi->param('saveuser')) {
save_user();
} else {
mainPage();
};
...
sub save_user {
print $cgi->header(-type=>'text/plain',-charset=>'utf-8');
print("success");
}
私が今抱えている問題は、Ajax 呼び出し (この URL: への呼び出し) を介してユーザーの新しいグループを保存したい場合ですusers.cgi?saveuser=xx
。これは (私の観点では) POST 呼び出しである必要があるため、これを作成し、結果の HTML/テキストを a に追加しようとしました<div>
が、機能しませんでした:
dojo.xhr.post({
url: "/cgi-bin/users.cgi?saveuser="+user_id,
content: {
new_groups: group_ids.toString()
},
load: function(html_content){
var element = document.getElementById("test_area");
element.innerHTML = html_content;
},
error: function(){
alert("An error has occured during the save of new user groups.");
}
});
私がそれを行うとdojo.xhr.get();
うまくいきますが、POSTでそれを行うと、ifステートメントのその部分を飛び越えてmainPage()
関数を追加するだけです。Dojo と Perl の間で理解できない基本的なことはありますか? POST 呼び出しを受け入れるようにページを設定する必要がありますか? または、私は何を間違っていますか?
注: これは、Dojo と Perl を使用して作成した最初の「システム」です。(私は通常、すべてのUIを手作業で作成するPHP / jQueryのような人なので、ちょっと慣れていません。)