我想在ajax post请求中做这个简单的比较。我只是想检查不同字符串值的帖子响应,但它永远不会工作。弹出功能永远不会被调用,即使我知道php响应是字符串“mango”你们可以告诉我我在这里做错了吗?
$.ajax(
{
type: 'POST',
url: './doit1.php',
data: {
title: 'test',
},
success: function (good)
{
//handle success
if($(good) =='mango')
{
popitup('./doit1.php?action=stop')
//alert(good)
else if ($(good) =='orange')
{
//do something
}
else
{
//default action
}
},
failure: function (bad)
{
//handle any errors
alert(bad)
}
});
function popitup(url) {
newwindow=window.open(url,'name','height=200,width=150');
if (window.focus) {newwindow.focus()}
return false;
}
答案 0 :(得分:2)
您正试图在返回的数据周围包装一个jQuery包装器:
if($(good) =='mango')
这是不正确的,因为good
在这种情况下需要是一个DOM元素,因为它具有任何意义。
如果good
只是返回的字符串值,那么您应该这样做:
if(good == 'mango')
答案 1 :(得分:0)
当jQuery应该以字符串形式放入时,你在jQuery中表现得很好。
用。
替换成功功能success: function (good){
//handle success
if(good==="mango"){
popitup('./doit1.php?action=stop')
}else if(good==="orange"){
//Do something
}else{
//Default Action
}
}
答案 2 :(得分:0)
不知道good
是什么,很难说。但是,$()
总是返回一个jQuery集合对象,这对任何类型的比较都没有用。您可能只想使用good == 'mango'
或switch
。也许是good.fruit == 'mango'
。