2014-04-01 77 views
0

我想用ajax,我曾经使用过它,复制我以前的HTML文件中的代码,并改变了价值观发送,PHP文件来处理的代码和我” m使用POST方法。但是,php脚本不会返回任何内容到html页面。我已经检查了所有可以,所以我现在在这里。 var x = document.getElementsByTagName('option')[document.getElementById(“region”)。selectedIndex] .value; var ajaxRequest; //使Ajax成为可能的变量!PHP的任何结果,不返回到JavaScript的Ajax对象

try{ 
    // Opera 8.0+, Firefox, Safari 
    ajaxRequest = new XMLHttpRequest(); 
}catch (e){ 
    // Internet Explorer Browsers 
    try{ 
    ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
    }catch (e) { 
     try{ 
    ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
    }catch (e){ 
    // Something went wrong 
    alert("Your browser broke!"); 
    return false; 
    } 
    } 
} 
    // Create a function that will receive data 
// sent from the server and will update 
// modal section in the same page. 
ajaxRequest.onreadystatechange = function(){ 
    if(ajaxRequest.readyState == 4){ 
     var ajaxDisplay = document.getElementById("accordion"); 
    ajaxDisplay.innerHTML = ajaxRequest.responseText; 
} 
} 
    // Now get the value from user and pass it to 
// server script. 
ajaxRequest.open("POST", "search.php", true); 
ajaxRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
alert(x); 
ajaxRequest.send("region=" + x); 

} 

PHP代码是一个简单的

<?php 
echo "The world is blue."; 
?> 

的是,它没有返回到所选择的股利。

+1

首先,我建议使用像jQuery这样的框架,它使AJAX变得更容易。其次,你确定你从PHP获得结果吗? – cgf

+0

这就是问题所在,我没有从php获得任何结果。我有另一个适用于此的应用程序,但是,这个应用程序不会将任何内容返回给id为“accordion”的div。 – Michael

+0

@Michael你的PHP是原始的,必须工作。尝试使用您的JavaScript代码的萤火虫。 – user4035

回答

0

您可能没有发布足够的信息来回答您的问题。但是,我承认你可能不确定你首先需要问什么问题。

首先,我必须同意@cgf。 jQuery或类似将使这更容易。

但让我们专注于手头的问题。我们需要知道幕后发生了什么。

要做到这一点的最好方法是通过开发人员工具栏,如萤火虫。 Chrome有一个内置的。

因此,加载铬并击中F12。这应该会在窗口底部显示非常忙碌的窗格。选择网络选项卡,然后请求您的页面/触发您的JavaScript。你在网络标签中得到了什么输出?主要是,在状态下你会得到200,500(服务器错误)还是404(没有找到)?用你看到/得到的内容更新你的问题。

我希望这应该点你在正确的方向。

+0

当我触发javascript函数时,状态栏中显示200 OK,但是没有任何内容返回给div。而且,如果我可以添加,没有信息缺失,我有一个div的手风琴id应该插入的结果。 – Michael

+0

@Michael,你试过类似'alert(ajaxResults)'的东西吗?基本上检查你是否只是没有正确显示在HTML中,或者你没有从PHP脚本中获取任何东西? – cgf

+0

是的,我已经做到了,PHP不返回任何东西。 – Michael