我可以在我的请求的javascript中访问我的ajax请求的href吗?

时间:2009-05-23 02:08:40

标签: php javascript jquery ajax

这是一个示例用例:

我通过ajax请求请求一个简单的表单。我想将结果提交到我要求的同一页面。有没有办法在生成的请求的javascript中访问该请求的URL?

下面是一些通过javascript和PHP完成我想要的代码。这样做的缺点是我必须将我的javascript包含在与myajaxform.php相同的文件中。我宁愿把它分开,所以我可以缩小,缓存等等。

我不能使用location.href,b / c它指的是窗口的位置而不是最新的请求。

frm.submit(function () {
    if (frm.validate()) {
        var data = frm.serialize();
        jQuery.ajax({
            url : '<?= $_SERVER['PHP_SELF'] ?>',
            type : 'POST',
            data : data,
                dataType: "html",
            success : function (data) {

            }
        });
    }
    return false;
});

如果没有办法通过javascript直接访问它,你会如何解决这个问题,以便javascript可以进入它自己的文件?我想我可以在原始的ajax请求的成功处理程序中,创建某种对URL的引用。思考?也许是使用jQuery数据方法的东西?

2 个答案:

答案 0 :(得分:3)

您可以在表单的action属性中存储要提交的网址,然后将url设置为frm.action

jQuery.ajax({
             url : frm.action,
             type : 'POST',
             data : data,
             dataType: "html",
             success : function (data) {
            }
});

答案 1 :(得分:0)

如果我完全误解了你的问题,请原谅我,因为我觉得有点混乱。

怎么样?
frm.submit(function () {
    if (frm.validate()) {
        var data = frm.serialize();
    jQuery.ajax({
            url : window.location.href,
            type : 'POST',
            data : data,
            dataType: "html",
            success : function (data) {

            }
    });
    }
    return false;
});