2017-05-10 62 views
0

我将一段日期发送到同一文档,并且一切正常,直到我想将响应值与字符串进行比较。因此,这里是我的JQuery:JQuery Ajax请求接收<!DOCTYPE html>

$.ajax({ 
      type: 'POST', 
      dataType : 'html', 
      cache: false, 
      data: {serienummer: serial}, 
      success: function(response) { 
       console.log(response); 
       if ('success' == response){ 
        //Do something 
       } else { 
        //Do something else 
       } 
       }, 
      error: function(xhr, status, error){ 
       alert('error: ' + error); 
      } 
     }); 

我的数据发布到同一个页面,并将其与数据在我的数据库进行比较,并返回“成功”,如果有一个比较或返回“错误”如果没有。

但如果我CONSOLE.LOG()我得到的回应如下:

success<!DOCTYPE html> 

为什么这不只是“成功”或“错误”?我如何解决这个问题来比较回应?它与数据类型有关吗?

在此先感谢

+0

您发布页面本身,并得到来自您所在页面的HTML返回。你需要创建一个'if(isSet($ _ POST)){echo“success”;出口(); }?>''为那个调用返回字符串“success”,或者创建另一个php:'$ .ajax({url =“someprocess.php”,' – mplungjan

+0

是的,实际上它只是PHP代码的一部分。我回应结果 – Infiltrator

+0

Exit();做了这个工作!现在它就像一个魅力!谢谢! – Infiltrator

回答

0

那是因为你还没有 请在你的Ajax

$.ajax({ 
    type: "POST", 
    url: "url", 
    data: "data to be post", 
    contentType: "application/json; charset=utf-8", 
    dataType: "html", 
    success: function(result){ 
     alert(result.d); 
     console.log(result); 
    } 
}); 
+0

即使没有网址,它正在工作。只有结果不是我期望它是 – Infiltrator

+0

请分享更多的代码,所以我们可以帮助 –

0

ex它();在处理所有事情的PHP代码的末尾都完成了这项工作!我希望这可以帮助别人

0

在那个阿贾克斯调用你可以设置dataType:'html'删除它并尝试它。 您可以设置数据类型:HTML,这样的理由,你可以得到响应这样success<!DOCTYPE html>

0

转换回答

您发布页面本身并获得HTML从您所在的页面了。您需要在其他

if (isSet($_POST)) { echo "success"; exit(); } ?> 
<!DOCTYPE...> 

返回字符串“成功”只是该呼叫添加退出或包裹的HTML或创建另一个PHP:

$.ajax({ url="someprocess.php"