【问题标题】:Ajax/Php Form SubmissionAjax/Php 表单提交
【发布时间】:2022-11-03 16:33:49
【问题描述】:

我在网页 1 上。

在网页 2 上,我有一个表单需要提交一些 GET 请求值,并且还触发了一些事件,例如

form.php?a=1&b=2&c=3

现在,如果我通过浏览器 URL 访问网页 2,它可以工作。

我想知道,有没有办法通过 Ajax 来做这些事情?就像,如果我通过 ajax 向网页 2 发送请求,它将被视为普通浏览器请求,并从那里提交表单。

谢谢

【问题讨论】:

  • 如果您希望通过 ajax 在其他页面上触发表单提交,您的设计有点奇怪。
  • @nice_dev 实际上.. 只是想知道,是否可能
  • 在我看来,你应该重构流程。

标签: javascript php ajax


【解决方案1】:

如果您愿意在网页 1 上使用 JavaScript,那么可以。

一种方法是使用 fetch: MDN

// gets data from form.php and logs it to console
fetch(`form.php?a=1&b=2&c=3`)
    .then(response => response.text())
    .then(text => console.log(text));

只需在单击按钮时动态更改 a、b 和 c 的值,这样就无需提交表单,而是调用 js 函数示例:

document.getElementById("formbtn").addEventListener("click", () => {
    let a = document.getElementById('a').value;
    let b = document.getElementById('b').value;
    let c = document.getElementById('c').value;
    fetch(`form.php?a=${a}&b=${b}&c=${c}`)
        .then(response => response.text())
        .then(text => console.log(text));
});

【讨论】:

    【解决方案2】:

    是的你可以

       $.ajax({
            url: 'form.php?a=1&b=2&c=3',
            type: 'GET',
            contentType: false,
            processData: false,
            success: function(response) {
                console.log(JSON.parse(response));
            }
        })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-14
      • 2011-10-03
      • 2011-07-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多