我有一个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?
答案 0 :(得分:1)
你检查过空格吗? echo "WIN"
之前或之后的任何空格都会影响输出,同时检查<?php
标记之前和之后的空格。
答案 1 :(得分:0)
您最有可能尝试直接从“数据”访问返回的数据。试试
alert(data.d);
我认为您会发现返回的数据位于属性中。如果我没记错的话,那个属性的名字是'd'。使用FireFox插件FireBug查看返回的数据。它对AJAX调试非常有帮助。
祝你好运!