jquery发布错误格式

时间:2015-06-05 15:46:31

标签: php jquery string compare postback

我尝试用jQuery比较两个字符串。但它不起作用

我的帖子文件“post.php”回显一个字符串:

echo "true";

我的jQuery脚本尝试比较回发数据。但它不起作用。

$.post( "post.php",
function( data ) {
  if(data=='true'){
  alert();
  }
});

警报永远不会弹出。我将每个文件保存为utf-8。不知道我的代码有什么问题。

我疯了。

2 个答案:

答案 0 :(得分:0)

将dataType设置为文本

$.ajax({
  url:"post.php",
  type:"POST",
  dataType:"text",
  success: function(){
    if(data=='true'){
        alert();
    }
  }
});

答案 1 :(得分:0)

jQuery可以对AJAX响应的响应类型执行intelligent guess,并且由于您正在执行echo "true";,因此很可能推断textHTML,所以这不是你的问题(但为了安全起见,你可以添加"文字"到你的帖子类型)。

可能是您在结束标记之前或之后在PHP中隐藏了空格。如果是这样,那么你的反应将不会真正成为" true"但也许"真&#34 ;.在post.php中检查一下。或者,您可以trim() AJAX响应。

您还没有设置错误处理程序,因此您可能会遗漏一些有用的调试信息。试试这个以获得更多洞察力:

$.post("post.php", function(data) {
  if(data && data.trim() === "true") {
    alert("Success");  
  } else {
    alert(data);
  }
}, "text")
.fail(function(xhr) {
  alert("Error: " + xhr.statusText);
});