我正在尝试使用ajax,我之前使用过它,复制了我之前的html文件中的代码并更改了发送的值,php文件来处理代码而我正在使用POST方法。但是,php脚本不会向html页面返回任何内容。我已尽力检查,所以我现在在这里。 function look(){ var x = document.getElementsByTagName('option')[document.getElementById(“region”)。selectedIndex] .value; var ajaxRequest; //使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.";
?>
然而,它没有给所选的div返回任何内容。
答案 0 :(得分:0)
您可能没有发布足够的信息让我们回答您的问题。但是,我承认你可能不确定首先需要提出什么问题。
首先,我必须同意@cgf。 jQuery或类似的将使这更容易。
但是让我们关注手头的问题。我们需要知道幕后发生了什么。
执行此操作的最佳方法是通过开发人员工具栏(如firebug)。 Chrome内置了一个。
所以,加载chrome并点击 F12 。这应该会在窗口底部显示一个非常繁忙的窗格。选择网络标签,然后请求您的页面/触发您的javascript。您在网络选项卡中获得了什么输出?主要是,在状态下你得到200,500(服务器错误)或404(未找到)?使用您看到/获得的内容更新您的上述问题。
我的希望是应指向正确的方向。