我有一个 ajax 函数,它创建一个触发另一个 ajax 函数的链接。出于某种原因,如果我设置了第二个 ajax 函数拒绝通过 POST 事件type: "POST"
两个函数如下:
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
,但没有运气。
任何指针,非常感谢。