Php Fancybox实例向自身发送POST

Php Fancybox实例向自身发送POST,php,jquery,ajax,fancybox,fancybox-2,Php,Jquery,Ajax,Fancybox,Fancybox 2,我有个问题。我正在使用Fancybox实例来显示标记的类别。在这个fancybox中,用户可以编辑类别、删除类别或创建新类别 在fancybox中执行的脚本使用AJAX调用。这意味着一个PHP文件(称为categories.PHP)正在执行,而浏览器没有重定向(它停留在tags.PHP上)。这就是问题的症结所在: 我在categories.php上有一个表单。如果用户按下submit,那么jQuery将取消默认事件并发送AJAX请求。此AJAX请求应发送到此代码(例如categories.php

我有个问题。我正在使用Fancybox实例来显示标记的类别。在这个fancybox中,用户可以编辑类别、删除类别或创建新类别

在fancybox中执行的脚本使用AJAX调用。这意味着一个PHP文件(称为categories.PHP)正在执行,而浏览器没有重定向(它停留在tags.PHP上)。这就是问题的症结所在:

我在categories.php上有一个表单。如果用户按下submit,那么jQuery将取消默认事件并发送AJAX请求。此AJAX请求应发送到此代码(例如categories.php中的代码)

我该怎么做

$(document).ready(function() {
    $('form').on('submit', function(event) {
        // cancel the default event (i.e. POST the form)
        event.preventDefault();
        var postData = $(this).serialize();
        var postUrl = this.href;

        var createCategory = $.ajax({
            url: postUrl,
            type: 'POST',
            data: postData
        });
        createCategory.done(function(result) {
            // code to reload the page
            // .replaceWith()?
            $('.testdiv').append(result);
            console.log('done');
        })
    });
});

姿势应该是$(this.href)吗?或者我应该将其改为指向categories.php吗?

我认为您应该尝试指向categories.php

var postrl=this.href
可能应该是
var postrl=$(this.attr('action'),就像指向categories.php页面一样。但是现在它给出了一个错误,关于主线程上的同步XMLHttpRequest被弃用。我会继续找的。谢谢你的帮助。我做到了,但还是没有成功。主线程上的同步XMLHttpQuest在进行去擦洗时出错。我会弄明白的。谢谢你的帮助。嗯,真奇怪。如果我在你的代码上这样看,它看起来不错。也许@milkmannetje知道这一点?不确定您是否对此感兴趣,但XMLHttpRequest上已经有问题了,所以您可以在这里查看:我将研究这一点,确实很有趣!