別の ajax 関数をトリガーするリンクを作成する ajax 関数があります。何らかの理由で、設定した場合、2 番目の ajax 関数は POST イベントを通過することを拒否しますtype: "POST"
2 つの機能は次のとおりです。
function HandleActivateLink(source) {
var url = source.attr('href');
window.alert(url)
$.ajax({
type: "POST",
url: url,
success: function (server_response) {
window.alert("well done")
}
});
return false;
}
function HandleDeleteLink() {
$('a.delete-link').click(function () {
var url = $(this).attr('href');
var the_link = $(this)
$.ajax({
type: "POST", // GET or POST
url: url, // the file to call
success: function (server_response) {
if (server_response.object_deleted) {
FlashMessage('#form-success', 'Link Deleted <a class="activate-link" href="' + url.replace('delete', 'activate') + '">Undo</a>');
$('a.activate-link').click(function(){
HandleActivateLink($(this));
});
the_link.parent().hide();
} else {
var form_errors = server_response.errors;
alert(form_errors)
}
}
});
return false;
});
}
HandleDeleteLink
成功すると新しいリンクが作成され、作成されたリンクに対して新しいクリック イベントが生成されます。それはすべて機能しますがHandleActivateLink
、リクエストを としてサーバーに送信しますGET
。代わりに使ってみました$.post
が、運が悪かったです。
任意のポインタ、大歓迎です。