AJAX无法调用函数

时间:2013-10-16 03:31:07

标签: ajax jquery

似乎我的脚本无法在ajax_test.php中调用PHP函数。我正在尝试在下拉框更改时实现对php函数的调用。我的html页面是index.php。代码如下。任何人都可以开导我吗?  index.php

<script>
$(document).ready(function(){
$("#cm").change( 
function ()
{
    var xmlhttp;
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    //code goes here
    xmlhttp.onreadystatechange=function()
     {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            var test = $.ajax
            ({ 
            type: "POST",
            url: "ajax_test.php",
            dataType: "json",               
            }).done(function(){
                document.getElementById("box").innerHTML = xmlhttp.responseText;
            });
        }
     }
    xmlhttp.open("POST","ajax_test.php",true);
    xmlhttp.send();
});
});
</script>
<div>
<div id="box"><p>a</p></div>
<form>
<select id="cm">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>
</form>

ajax_test.php

<?php
function hey(){
    echo '<p>hey</p>';
}
?>

3 个答案:

答案 0 :(得分:1)

如果您使用的是jquery,则应该坚持使用jquery函数。 尝试使用以下代码替换您的更改功能。

$("#cm").change( 
   function (){
    $.ajax({ 
        type: "POST",
        url: "ajax_test.php",
        dataType: "json"               
        }).done(function(data){
            $("#box").html(data);
        });
   }
 });

另外请确保您发送的是正确的dataType。检查服务器是否正在返回application/json以获取ajax调用的响应类型。

您不仅需要定义,还需要在php脚本中调用函数hey()

答案 1 :(得分:0)

我认为您缺少图书馆。 添加

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
在脚本启动之前

。 在这里我使用的是1.8.3,你可以使用最新的一个只是谷歌周围。

答案 2 :(得分:0)

建议:

You are trying to mix 2 ways to call ajax. I mean using XMLHttp request object & also jquery ajax. Try either one. I suggest you for jquery ajax. Tell me if you need any programming help.

- 感谢