1

我有一个单击事件,我在其中编写一个json 数据,然后我想将其发布到 PHP 文件进行处理。但是出了点问题。我的 PHP 文件现在被简化如下:

<?php
header('Content-Type: application/json');
 var_dump($_POST);
?>

POST-ing 的代码如下所示:

// myarray is: var myarray = new Array(); 
// and it gets populated above this code

var strObj = JSON.stringify(myarray);
alert(strObj); // so far I get the alert containing valid JSON text
$.ajax ({
  type:"POST",
  url:"proces.php",
  contentType: "application/json",
  dataType: "json",
  async: false,
  data: strObj,
  success: function(){ alert("success")},
  error: function(){ alert("error")}
});

因此,当我单击按钮时,我收到包含 JSON 字符串的警报(看起来不错),然后我收到警报说“错误”,当我检查控制台以查看 proces.php 的响应时,我看到的是:

array(0) {
}

我究竟做错了什么?我该怎么做才能使它正确?

4

2 回答 2

1

这对我有用:

$.ajax ({
  type:"POST",
  url:"proces.php",
  dataType: "json",
  async: false,
  data: {tmp: strObj},
  success: function(){ alert("success")},
  error: function(){ alert("error")}
});
于 2013-07-11T12:14:21.413 回答
1

我自己得到了答案。似乎可以解决问题:

$.post("proces.php", {json: JSON.stringify(myarray)}, function(data){alert(data);});

我的意思是,我没有收到警报(数据);(可能是因为我没有从 php 文件返回 JSON)但是在 PHP 中我现在可以看到 json 数据。

于 2013-07-11T12:21:04.830 回答