这是一个示例用例:
我通过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数据方法的东西?
答案 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;
});