【问题标题】:HTML form not forwarding to serverHTML 表单未转发到服务器
【发布时间】:2018-11-18 02:53:20
【问题描述】:

我正在尝试转发我的 html 表单 (id=application) 但服务器正在返回 状态:未定义 回复:未定义 查询:未定义

这是下面代码的一部分。

<script>
        function sendForm(){
            var form = $("#application");
            $.post("send-mail.php",form.serialize(),function(data){
                console.log("status : " + data.status);
                console.log("response : " + data.message);
                console.log("query : " + data.query);
                }
            });
</script>

这可能有什么问题?

【问题讨论】:

  • 好的,你的标题是HTML form not forwading to server,但是你说的是but the server is returning... 你能不能试着再写一遍这个问题,因为目前还不是很清楚你的问题到底是什么
  • 服务器是否发送Content-type: application/json标头?
  • 这是一个php问题吗?没有代码。更不用说形式了。您的问题不清楚。

标签: javascript php jquery html ajax


【解决方案1】:

除非服务器发送 Content-type: application/json 标头,否则 jQuery 不会自动将响应解析为 JSON。您需要通过向$.post 添加数据类型参数来告诉 jQuery:

        $.post("send-mail.php",form.serialize(),function(data){
            console.log("status : " + data.status);
            console.log("response : " + data.message);
            console.log("query : " + data.query);
            }
        }, "json");

【讨论】:

  • 我试过了,现在我没有收到任何回复,也没有同时收到电子邮件,我不确定我是否做得不对,但我添加了“json”和你一样,我还需要做些什么吗?
  • 我的回答不会改变发送到服务器的内容或服务器发送邮件的方式,只会改变响应的处理方式。
  • 使用开发工具的网络选项卡查看正在发送的参数和正在接收的响应。还要检查服务器上的 PHP 错误日志。
猜你喜欢
  • 2019-02-19
  • 2019-05-06
  • 1970-01-01
  • 1970-01-01
  • 2011-01-06
  • 1970-01-01
  • 2023-03-10
  • 2019-06-06
  • 1970-01-01
相关资源
最近更新 更多