将ajax请求发送到php时无数据响应

时间:2019-06-01 03:25:57

标签: javascript php json ajax

我想将json数据发送到我的php,但是当我将其访问我的php时没有响应。

这是我的ajax请求

npm run truffle

});

这是我的php,我在其中处理请求并返回数据进行测试

    var project = {project:"A"};

 var dataPost = JSON.stringify(project);

     $.ajax({
     url: 'fetchDate.php',
     data: {myData: dataPost},
     type: 'POST',
     datatype:'json',
     contentType: "application/json",  
     success: function(data) {
         alert(JSON.stringify(data));
     }
 });

我是ajax的新手,所以请您帮忙

2 个答案:

答案 0 :(得分:1)

您不需要在ajax上添加内容类型,因为您实际上并没有将json发送到服务器。

     $.ajax({
     url: 'fetchDate.php',
     data: {myData: project},
     type: 'POST',
     datatype:'json',
    // contentType: "application/json",  
     success: function(data, status, jqXHR) {

         console.log(data,status,jqXHR);
          alert(JSON.stringify(data));
     }
});

无需对项目对象进行分类, 在您的php中,只需将其编码为json

<?php  header("Content-Type: application/json; charset=UTF-8");
 $obj = $_POST['myData'];
 echo json_encode($obj); ?>

您应该在警报时得到json字符串

答案 1 :(得分:0)

请尝试更改

$ objProject = json_decode($ _ GET [“ myData”]);

$ objProject = json_decode($ _ POST [“ myData”]);

因为ajax类型:“ POST”

$.ajax({
 url: 'fetchDate.php',
 data: {myData: dataPost},
 type: 'POST',
 datatype:'json',
 contentType: "application/json",  
 success: function(data) {
     alert(JSON.stringify(data));
 }