Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AJAX无法调用函数_Ajax_Jquery - Fatal编程技术网

AJAX无法调用函数

AJAX无法调用函数,ajax,jquery,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,

我的脚本似乎无法在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>

$(文档).ready(函数(){
元(“#厘米”)。更改(
函数()
{
var-xmlhttp;
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
//代码在这里
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
var test=$.ajax
({ 
类型:“POST”,
url:“ajax_test.php”,
数据类型:“json”,
}).done(函数(){
document.getElementById(“box”).innerHTML=xmlhttp.responseText;
});
}
}
open(“POST”,“ajax_test.php”,true);
xmlhttp.send();
});
});
a

沃尔沃汽车 萨博 梅赛德斯 奥迪

ajax_test.php

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

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

$("#cm").change( 
   function (){
    $.ajax({ 
        type: "POST",
        url: "ajax_test.php",
        dataType: "json"               
        }).done(function(data){
            $("#box").html(data);
        });
   }
 });
还要确保发送的数据类型正确。检查服务器是否返回ajax调用响应类型的
application/json


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

我认为您缺少库。 加


在脚本开始之前。 这里我使用的是1.8.3,您可以使用最新版本,只需在谷歌上搜索一下即可。

建议:

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.
-
谢谢

您是否包括了这些库?使用deepak告诉您的简单方法。如果您已经能够包括jquery
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.