jquery ajax post - json正在返回,但没有正常工作

Hor*_*Kol 2 javascript ajax jquery json

我已经开始了以下骨架的ajax/post/update函数我想用javascript编写(使用jquery):

$.post("/gallery/resize",
  function (data) {
    alert(data);
    alert(data.complete);
    if (data.complete) {
      alert("done");
    } else {
      alert("blah");
    }
  },
  "json"
);
Run Code Online (Sandbox Code Playgroud)

并且服务器上的响应脚本是:

$return['complete'] = 'complete';
header('Content-type: application/json');
echo json_encode($return);
exit;
Run Code Online (Sandbox Code Playgroud)

FireBug控制台显示我得到了一个JSON字符串作为响应 - 但data.complete的值是'undefined'.以下是FireBug报告的服务器字符串(我在控制台的XHR显示下的JSON选项卡下也有相应的值/数据对):

{"complete":"complete"}
Run Code Online (Sandbox Code Playgroud)

关于我可能错过的任何指示......

我正在开发一个localhost服务器 - 在ubuntu上的apache - 如果这有所不同?

Hor*_*Kol 5

哦,男孩 - 事实证明我有点过于相信jQuery的力量 - 我在$ .post()方法中缺少一个参数,除非你想指定其他东西,否则它可能是可选的.

奇怪的是,回调在没有设置前面的数据参数的情况下工作 - 但是当你想要设置数据类型(并且必须设置数据和回调)时它会变得怪异.

所以 - 我想要的正确代码是:

$.post("/gallery/resize", "",
  function (data) {
    alert(data);
    alert(data.complete);
    if (data.complete) {
      alert("done");
    } else {
      alert("blah");
    }
  },
  "json"
);
Run Code Online (Sandbox Code Playgroud)