javascript - 通过 AJAX 将 JSON 数组发布到 php 失败

标签 javascript php json ajax

我想通过 ajax 调用将 JSON 数组发送到 Web 服务 PHP。我已经尝试了很多解决方案(针对此类问题的大多数建议的类似答案),但毫 headless 绪。

我的 JSON 数组结构是:

var res= [{"id":-9007199254740990,
"NW":{"x":3.97,"y":5.83},
"SE":{"x":2.72,"y":3.53},
"NE":{"x":1.97,"y":8.83},
"SW":{"x":3.87,"y":4.83}}]

处理请求的JavaScript函数如下:

send_json(res); //call function
function send_json(res)
{
  var myJsonString = JSON.stringify(res);
  console.info(myJsonString);
  $.ajax({
  url:"test.php", //the page containing php script
  type: "GET", //request type
  contentType: "application/json; charset=UTF-8",
  data: {data : myJsonString} ,
  success:function(result){
    //JSON version
    console.info(result);
    }
  });
}

php 文件按如下方式处理请求:

<?php
if ($_SERVER['REQUEST_METHOD'] == 'GET')
{
  $data = json_decode(file_get_contents("php://input"));
  print_r($data);
}
?>

我也尝试过将 JSON 作为键值发送 JS:

data: {data: myJsonString}

然后通过以下方式在 php 中接收它:

if(isset($_GET['data']))
{
echo json_decode($_GET['data']);
}

同样没有线索,两次试验的输出都是空的。

最佳答案

var res= [{"id":-9007199254740990,
"NW":{"x":3.97,"y":5.83},
"SE":{"x":2.72,"y":3.53},
"NE":{"x":1.97,"y":8.83},
"SW":{"x":3.87,"y":4.83}]

这是一个json对象数组,不是字符串 您可以按原样传递 json object

data:res,
type: "post",

现在在服务器上做

print_r($_POST);

关于javascript - 通过 AJAX 将 JSON 数组发布到 php 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41121743/

相关文章:

php - MailGun 401 响应禁止我哪里出错了

javascript - 单击功能正在删除所有更改

python - 在 Python 中,为什么要使用 JSON 方案而不是字典?

javascript - 数组排序: all possible sequences

javascript - 将 Google 地理编码器的结果放入数组中?

javascript - JS : Flying random objects (images)

php - Mysql INNER JOIN 和资源#9

php - 将拼写检查器集成到 Tinymce 中不起作用

java - 如何在谷歌地图android上显示多个标记

c# - 将 json 中的图像的 base64 字节数组传递给 webApi