使用AJAX调用时,函数不起作用

时间:2017-07-04 06:55:23

标签: php jquery ajax

我有:

call.php

function ajaxnotify(){
   notify('hello');
}
function notify($a){
echo "
    <script src=\"/js/jquery.min.js\"></script>
    <script src=\"//cdn.socket.io/socket.io-1.4.5.js\"></script>
    <script>
    $(function(){
        socket = io.connect(\"MY IP AND PORT\",{secure: true});
        socket.emit('say', {'msg': '$a'})
    });
    </script>
    ";
}
switch($_GET["do"]){
case "1":
     ajaxnotify();
     break;
case "2":
     notify();
     break;
}

当我直接转到mysite / call.php时,这段代码绝对有用。但是当我使用:

$.ajax({
            type: "POST",
            url: "call.php?do=1",
            data: "",
            success: function(html){

            }
        });

它只是不起作用。当我直接进入页面时它会起作用,但是当我从html调用ajax函数时它不起作用。
我的错在哪里,伙计们?

1 个答案:

答案 0 :(得分:6)

您使用POST发送请求,但使用$_GET在PHP中检索变量。

将jQuery中的type: "POST"更改为type: 'GET'。这是一个完整的例子:

$.ajax({
  type: 'GET',
  url: 'call.php',
  data: { do = 1 },
  success: function(html) {
    console.log(html); // to at least verify the response
  }
});