将数据从ajax发布到php

将数据从ajax发布到php,php,jquery,ajax,Php,Jquery,Ajax,尝试从ajax向php发送post请求 我根据答案做了很多尝试和错误,包括确保“type”设置为post,指定“dataType”,更正“url”。我想我错过了一些重要的事情,但我不知道是什么 main.php $(文档).ready(函数(){ $(“.editContact”)。在(“单击”,函数(){ 让dataID=$(this.attr(“数据id”); console.log(dataID); $.ajax({ 键入:“POST”, url:'functions/phonebook

尝试从ajax向php发送post请求

我根据答案做了很多尝试和错误,包括确保“type”设置为post,指定“dataType”,更正“url”。我想我错过了一些重要的事情,但我不知道是什么

main.php


$(文档).ready(函数(){
$(“.editContact”)。在(“单击”,函数(){
让dataID=$(this.attr(“数据id”);
console.log(dataID);
$.ajax({
键入:“POST”,
url:'functions/phonebook.php',
数据类型:“文本”,
数据:{data:dataID}
});
});
});
函数/phonebook.php

if(isset($\u POST[“data”])){
$res=array($data=>var\u dump($\u POST[“data”]);
}
否则{
$res='null';
}
然后将包含来自ajax的dataID的$res变量打印到main.php中的MyHTML元素中

联系人姓名
my main.php中的console.log打印我想在ajax中发送的数据,但当我尝试将数据ID发送到我的phonebook.php时,我得到一个空值。

您的问题是:

$res = array($data=>var_dump($_POST["data"]));
你用错了方法

从文档中:

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

此函数不返回任何值,因此在您的情况下,
$data=>var\u dump($\u POST[“data”])
将始终为空

您需要做的是:

$res = array($data => $_POST["data"]);
你的问题是:

$res = array($data=>var_dump($_POST["data"]));
你用错了方法

从文档中:

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

此函数不返回任何值,因此在您的情况下,
$data=>var\u dump($\u POST[“data”])
将始终为空

您需要做的是:

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

如果您要将数据发送到另一个页面,并且需要使用jquery/JS来执行此操作,那么通过window replace发送数据可能会更简单:

 window.location.replace(...)
如果您需要停留在同一页面上,您可能希望在ajax查询中包含一个success函数,因为这将返回到您调用的页面:

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

如果您要将数据发送到另一个页面,并且需要使用jquery/JS来执行此操作,那么通过window replace发送数据可能会更简单:

 window.location.replace(...)
如果您需要停留在同一页面上,您可能希望在ajax查询中包含一个success函数,因为这将返回到您调用的页面:

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

我明白了,我根据你的答案做了更改,但仍然得到一个空值。我怀疑ajax中的数据ID没有成功发布到我的php文件中。我看不出您的ajax调用有任何问题。您可以尝试在PHP脚本的开头输入
echo$\u POST['data']
,以检查是否发送了值然后在main中打印出来。使用
echo$res的html仍然没有打印数据。我知道,我根据您的答案进行了更改,但仍然得到空值。我怀疑ajax中的数据ID没有成功发布到我的php文件中。我看不出您的ajax调用有任何问题。您可以尝试在PHP脚本的开头输入
echo$\u POST['data']
,以检查是否发送了值然后在main中打印出来。使用
echo$res的html仍然没有打印数据。