当前位置: 首页 > 知识库问答 >
问题:

$.post未将数据发送到php脚本

能帅
2023-03-14

好吧,我不知道出了什么问题。我试图将表单数据从一个简单的jQuery脚本传递到我的php脚本,但由于某种原因,当我试图访问$\u POST数据时,php说$\u 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

而$U POST的var_dump则说明了这一点

array(0) { } 

我不知道为什么这会给我带来如此多的问题,所以任何帮助都将不胜感激。

P. S我也尝试过简单地为帖子数据这样做,但它仍然不起作用。

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

console.log是这样的

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

但是当我var_转储$POST变量时,它仍然说

array(0) { } 

共有1个答案

宫俊远
2023-03-14

*您的代码中有几个问题,

1.添加将触发ajax的事件。

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

3.无返回错误或防止defaul手动停止表单提交。(我认为这是主要问题)

检查解决方案:*

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;
 类似资料:
  • 问题内容: 我有由函数 .push 制成的数组。数组中的数据非常大。如何将此最佳方式发送到PHP脚本? script.php: 最好的方法是什么? 问题答案: 将您的数据字符串编码为JSON。 在你的PHP中 注意 通过POST发送数据时,它必须作为键值对。 从而 是错的。而是:

  • 问题内容: 如何将JSON数据从浏览器中的Javascript发送到服务器,并由PHP在其中进行解析? 问题答案: 我在这里获得了很多信息,所以我想发布我发现的解决方案。 问题: 从浏览器上的Javascript获取JSON数据到服务器,然后让PHP成功解析它。 环境: Windows上的浏览器(Firefox)中的Javascript。LAMP服务器作为远程服务器:Ubuntu上的PHP 5.3

  • 问题内容: 我的jphp.php文件包含以下内容: 并且我的javascript文件包含以下内容: 我已经用php编码了数据数据..现在我想将这两个数据数组发送到javascript …我不知道要使用的正确命令。我对谷歌搜索感到困惑。 请帮忙 。 问题答案: 使用jQuery的简单特定示例: JavaScript页面: 在您的php中:

  • 我一直试图从我的Android应用程序向一个URL发送一个POST请求,但我得到的只是一个空的$_POST。下面是我的代码,它运行在AsyncTask中。我在StackOverflow中查看了几个类似的问题,但没有一个能帮助我。 我在AndroidManifest.xml中拥有INTERNET权限。在这个相同的应用程序中,我做了另一个PHP脚本的请求,它按预期工作。 有什么想法吗?

  • 问题内容: 我正在执行一个Android程序,该程序应该将数据从平板电脑发送到PHP Web服务。发送JSON的代码: PHP Web服务: 我尝试了获取JSON的不同方法,但没有一个对我有用。也许StackOverflow的优秀人才可以帮助我解决这个问题,因为他们总是遇到我遇到的其他所有问题。 问题答案: 在注释部分,您似乎只希望将JSON发送到您的PHP脚本。通常,您将POST发布到PHP,然

  • 问题内容: 我在HttpURLConnection和OutputStreamWriter方面挣扎。 代码实际上到达了服务器,因为我确实收到了有效的错误响应。发出了POST请求,但服务器端未收到任何数据。 正确使用此东西的任何提示均受到高度赞赏。 该代码在AsyncTask中 我正在尝试发送的JSON: 我从服务器得到的响应: 我应该得到的回应是: 服务器端PHP脚本: 以及Android Stud