【问题标题】:Posting data from ajax to php将数据从ajax发布到php
【发布时间】:2019-08-03 10:31:36
【问题描述】:

尝试从 ajax 向 php 发送 post 请求。

我根据答案做了很多试验和错误,包括确保“类型”设置为发布、指定“数据类型”、正确的“网址”。我想我错过了一些重要的东西,但我不知道它是什么。

ma​​in.php

<script>
    $(document).ready(function(){
        $(".editContact").on("click", function(){
        let dataID = $(this).attr("data-id");
        console.log(dataID);

        $.ajax({
            type: 'POST',
            url: 'functions/phonebook.php',
            dataType: "text",
            data:{data:dataID}              

         });

        });
    });
</script>

functions/phonebook.php

if(isset($_POST["data"])){
        $res = array($data=>var_dump($_POST["data"]));
    }
    else{
        $res ='null';
    }

然后将包含来自 ajax 的 dataID 的 $res 变量打印到 ma​​in.php

中的我的 html 元素
<label class="m-label-floating">Contact name <?php echo $res; ?> </label>

我的 main.php 中的 console.log 打印了我想在 ajax 中发送的数据,但是当我尝试将 dataID 发送到我的 phonebook.php 时,我得到一个空值。

【问题讨论】:

    标签: php jquery ajax


    【解决方案1】:

    你的问题在这里:

    $res = array($data=>var_dump($_POST["data"]));
    

    您以错误的方式使用var_dump。

    来自文档:

    此函数显示有关一个或多个表达式的结构化信息,包括其类型和值。数组和对象通过缩进显示结构的值递归探索。

    此函数不返回任何值,因此,在您的情况下,$data=&gt;var_dump($_POST["data"]) 将始终为空。

    你需要做的是:

    $res = array($data => $_POST["data"]);
    

    【讨论】:

    • 我明白了,我根据您的回答做了更改,但我仍然得到一个空值。我怀疑 ajax 中的 dataID 没有成功发布到我的 php 文件中。
    • 我看不出你的 ajax 调用有什么问题。您可以尝试在 PHP 脚本的开头输入 echo $_POST['data'] 以检查该值是否已发送。
    • 试过 $res = echo $_POST['data']; 然后在 main 中打印出来。 html 使用echo $res; 仍然没有打印数据。
    【解决方案2】:

    如果您将数据发送到完全不同的页面并且需要使用 jquery / JS 来完成,则通过窗口替换发送可能更简单:

     window.location.replace(...)
    

    如果您需要停留在同一页面上,您可能希望在您的 ajax 查询中包含一个成功函数,因为这将返回到您从中调用的页面:

     $.ajax({
            type: 'POST',
            url: 'functions/phonebook.php',
            data:{data:dataID},                
            success: function (html) {
                 // do your HTML replace / add stuff  here
            },
         });
    

    【讨论】:

      猜你喜欢
      • 2017-04-27
      • 2014-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-02
      • 2011-09-30
      相关资源
      最近更新 更多