gpt4 book ai didi

Javascript运行php文件然后下载文件

转载 作者:行者123 更新时间:2023-12-02 14:37:32 27 4
gpt4 key购买 nike

我有一个页面,我想要在其中填写表格,一个 javascript 文件验证该信息,将信息发送到一个 php 文件以邮寄给我,然后启动下载。问题是我可以让 javascript 文件发送邮件或允许下载文件,但不能两者兼而有之。

有问题的代码如下所示:

else {
document.dlform7.action = "http://www.myurl.com/c/post7.php" ;
document.dlform7.submit();
window.location.assign(url);
}

有没有一种方法(也许使用负载)可以让这两个操作同时发生?

编辑:

ajax 选项:

 else {
$.ajax({
url: "http://www.myurl.com/c/post7.php";
type: "POST",
data: data,
cache: false,
success: function () {
window.location.assign(url);
document.dlform7.submit();

},

最佳答案

我认为您需要调整表单的提交处理程序。 IRC,提交事件将导致页面重新加载。

您需要为表单创建一个提交事件处理程序,以便对您的 php 脚本进行 ajax 调用。然后让它返回 false 以防止页面重新加载。然后您应该能够同时下载文件。

更新

如果您想下载文件,无论发送电子邮件的 php 脚本发生什么情况,您可以执行以下操作:

else {
$.ajax({
url: "http://www.myurl.com/c/post7.php";
type: "POST",
data: $(document.dlform7).serialize(),
cache: false,
});
window.location.assign(url);

ajax方法就是表单提交。它不会破坏代码的流程,因此重定向将在请求之后发生。 (我很确定这会起作用)。

如果您想等到 php 脚本成功运行,那么您可以将代码移动到成功回调中,如下所示:

else {
$.ajax({
url: "http://www.myurl.com/c/post7.php",
type: "POST",
data: $(document.dlform7).serialize(),
cache: false,
success: function () { window.location.assign(url); }
});

当然,您也可以只更改 php 页面来发送电子邮件,然后按照评论中的说明回复您要下载的文件。

关于Javascript运行php文件然后下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37327496/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com