ajax发送数据,但是php表示未定义索引

时间:2018-06-22 04:59:57

标签: php ajax

PHP文件:

   <?php
    $result = $_POST['ID'];
    echo($result);    
   ?>

AJAX文件

$('.P0').click(function(){
    $.ajax({
        type : 'post',
        url : 'wishlist.php',
        data : 'ID=' +  pid[0],
        dataType : 'json',
        success : function(ar){
        alert(ar);  
        }
    });
window.location = "http://localhost/FashionWorld/PAGES/wishlist.php";
});

我也尝试了json_encode()和其他方法,也尝试了不使用dataType 但是什么都行不通。

我的PHP版本是7.1

请帮助...

5 个答案:

答案 0 :(得分:0)

使用如下代码

$('.P0').click(function(){
$.ajax({
    type : 'post',
    url : 'wishlist.php',
    data : {
        ID:pid[0],              // Change the data passing to this.
    },
    dataType : 'json',
    success : function(ar){
    alert(ar);  
    }
});
window.location = "http://localhost/FashionWorld/PAGES/wishlist.php";
});

您传递数据的方式是错误的。 尝试上述修改,并检查其是否有效。

答案 1 :(得分:0)

数据类型设置为 JSON 时,您需要以 JSON 格式

发送数据

更新代码:

$('.P0').click(function(){
  $.ajax({
     type : 'post',
     url : 'wishlist.php',
     data : {"ID": pid[0]},
     dataType : 'json',
     success : function(ar){
        alert(ar);  
     }
  });
 window.location = "http://localhost/FashionWorld/PAGES/wishlist.php";

});

在您的PHP文件上,您可以使用全局$_POST变量读取该值

答案 2 :(得分:0)

您在变量中遇到了问题

{"errors":[{"code":32,"message":"Could not authenticate you."}]}

我建议您首先通过一个初始化值进行测试。

data : 'ID=' +  pid[0]

第二个例子:

data : 'ID=1'

答案 3 :(得分:0)

请尝试以下代码。.我添加了json.parse

$.ajax({
        type : 'post',
        url : 'wishlist.php',
        data : 'ID=' +  pid[0],
        dataType : 'json',
        success : function(ar){
        var xxx = JSON.parse(ar);
        alert(xxx);  
        }
    });

谢谢:)

答案 4 :(得分:-2)

有多种方法可以做到,这是一种:-

!+[]

希望这可以。