gpt4 book ai didi

javascript - $.post 不发送数据到 php 脚本

转载 作者:可可西里 更新时间:2023-10-31 23:46:57 24 4
gpt4 key购买 nike

好吧,我不知道出了什么问题。我正在尝试将表单数据从一个简单的 jQuery 脚本传递到我的 php 脚本,但是由于某种原因,当我尝试访问 $_POST 数据时,php 说 $_POST 是空的?

我们开始吧,所以我有以下 jQuery 和 php 脚本

jQuery

var post = $('#cform').serialize();
console.log("POST DATA: " + post);
$.post(action, post, function(data){
document.getElementById('message').innerHTML = data;
$('#message').slideDown('slow');
$('#cform img.contact-loader').fadeOut('slow',function(){$(this).remove()});
$('#submit').removeAttr('disabled');
if(data.match('success') != null) $('#cform').slideUp('slow');
});

PHP

$fname  = $_POST['fname'];
$lname = $_POST['lname'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$comments = $_POST['comments'];

var post 的控制台日志是这样的

POST DATA: fname=Daniel&lname=Jarvis&email=test%40gmail.com&phone=4444444444&comments=hello

$_POST 的 var_dump 是这样说的

array(0) { } 

我不知道为什么这会给我带来这么多问题,所以非常感谢任何帮助。

附言我也尝试过对发布数据简单地执行此操作,但它仍然无法正常工作。

var post = {fname: $('#fname').val(), lname: $('lname').val(), ...} //you get the idea

console.log 看起来像这样

{fname: "Dan", lname: "Jarvis", ...}

但是当我 var_dumped $_POST 变量时它仍然说

array(0) { } 

最佳答案

*你的代码有几个问题,

1.添加触发ajax的事件。

2.您的 php 脚本没有回显任何数据。

3.No return false or prevent default to stop form manually submission.(我认为这是主要问题)

检查解决方案:*

HTML:

    <form id="form">

<input type="text" name="fname">
<input type="text" name="lname">
<input type="text" name="email">
<input type="text" name="phone">
<input type="text" name="comments">
<input type="submit" name="submit" value="submit">

</form>

<span id="message"></span>

Javascript:

    $("#form").submit(function(){

var post = $('#form').serialize();
console.log("POST DATA: " + post);
$.post('target.php', post, function(data){
document.getElementById('message').innerHTML = data;
$('#message').slideDown('slow');
$('#cform img.contact-loader').fadeOut('slow',function(){$(this).remove()});
$('#submit').removeAttr('disabled');
if(data.match('success') != null) $('#cform').slideUp('slow');

});
return false;
})

PHP(我假设你的 php 脚本是 target.php):

  $fname  = $_POST['fname'];
$lname = $_POST['lname'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$comments = $_POST['comments'];

echo $fname.$lname.$email.$phone.$comments;

关于javascript - $.post 不发送数据到 php 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31840448/

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