2015-10-15 70 views
2

编辑:固定_错字(2次),加头,仍在记录100jQuery的基本AJAX GET + PHP回报

当点击我的JavaScript的按钮,我射击这个功能(参数:100)

ajaxManager = new AjaxManager(); 
ajaxManager.requestHexContent(100); 

function AjaxManager(){ 
    this.requestHexContent = function(id){ 
     $.ajax({ 
      type : 'get', 
      url : 'simulator/hexFiller.php', 
      dataType : 'json', 
      data: { 
       gameid: id, 
      }, 
      success : function(ret){ 
       console.log(ret); 
      }, 
      error : function(){ 
       alert("error") 
      } 
     }); 
    }, 
} 

这是我hexFiller.php

<?php 
header('Content-Type: application/json'); 

    $ret; 

    if (isset($_GET["gameid"])){ 
    if ($_GET["gameid"] == 100){ 
     $ret = 200; 
    } 
    else { 
    $ret = "error"; 
} 
} 

echo json_encode($ret); 

?> 

现在,我会希望发生的事情是我的浏览器来登录“200”到控制台,或“错误”。相反,它将“100”记录到控制台。

有人可以向我解释我思想中的根本错误吗?

+0

你是如何调用该函数?点击时触发此功能是否可以获得代码? –

+0

编辑了代码,还在requestHexContent() –

+1

的调用中添加了它的工作,这里工作得很好。此前它出现错误并提醒“错误”。当我将$ GET更改为$ _GET时。它返回了200. 还有什么你想要的?我应该粘贴代码吗? –

回答

1

正如在评论中所讨论的,工作代码如下: 我只用$ _GET取代了$ GET。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
<script> 
    function AjaxManager() { 
     this.requestHexContent = function (id) { 
      $.ajax({ 
       type: 'get', 
       url: 'simulator/hexFiller.php', 
       dataType: 'json', 
       data: { 
        gameid: id, 
       }, 
       success: function (ret) { 
        console.log(ret); 
       }, 
       error: function() { 
        alert("error") 
       } 
      }); 
     } 
    } 

    ajaxManager = new AjaxManager(); 
    ajaxManager.requestHexContent(100); 
</script> 

hexFiller.php

<?php 
$ret; 

if (isset($_GET["gameid"])) { 
    if ($_GET["gameid"] == 100) { 
     $ret = 200; 
    } else { 
     $ret = "error"; 
    } 
} 

echo json_encode($ret); 
?> 
0

您没有从PHP文件返回json元素。

在您的PHP文件的顶部添加header('Content-Type: application/json');

另外您的$_GET声明不正确。

0

为什么它返回100,我真的不知道,可能是一个错误号。但是你的PHP代码是错误的,它是$ _GET而不是$ GET。