AJAX回调无法正确处理数据

时间:2010-08-26 13:24:31

标签: javascript jquery ajax

我有一个PHP脚本,我在jQuery中使用.post()函数调用。如果一切顺利,它会输出“WIN”,否则它会输出任何数据库错误或其他任何内容。

$.post("myscript.php", {key: "value"}, function(data) {
   if(data=="WIN") {
      // the stuff that I want it to do that it won't do
   } else {
      alert(data);
   }
});

然而,当它运行时,我在JS警报中获得“WIN”,并且我想要它做的事情不会发生。由于“WIN”出现在警报中,因此PHP脚本显然输出了我的预期。我甚至确保将PHP脚本的Content-Type设置为text/plain,所以为什么不data=="WIN"。为什么我的WIN FAIL?

2 个答案:

答案 0 :(得分:1)

你检查过空格吗? echo "WIN"之前或之后的任何空格都会影响输出,同时检查<?php标记之前和之后的空格。

答案 1 :(得分:0)

您最有可能尝试直接从“数据”访问返回的数据。试试

 alert(data.d);

我认为您会发现返回的数据位于属性中。如果我没记错的话,那个属性的名字是'd'。使用FireFox插件FireBug查看返回的数据。它对AJAX调试非常有帮助。

祝你好运!