我有:
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函数时它不起作用。
我的错在哪里,伙计们?
答案 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
}
});