Ajax 获取getXMLHTTP未定义错误
以下是我的javascript:Ajax 获取getXMLHTTP未定义错误,ajax,xmlhttprequest,Ajax,Xmlhttprequest,以下是我的javascript: <script type="text/javascript"> function getState(countryId) { var strURL="findState.php?country="+countryId; var req = getXMLHTTP(); //ERROR is right here //UNCAUGHT REFERENCE ERROR: getXMLHTTP IS NOT DEFINED
<script type="text/javascript">
function getState(countryId)
{
var strURL="findState.php?country="+countryId;
var req = getXMLHTTP();
//ERROR is right here
//UNCAUGHT REFERENCE ERROR: getXMLHTTP IS NOT DEFINED
if (req)
{
req.onreadystatechange = function()
{
if (req.readyState == 4)
{
// only if "OK"
if (req.status == 200)
{
document.getElementById('statediv').innerHTML=req.responseText;
} else {
alert("There was a problem while using XMLHTTP:\n" + req.statusText);
}
}
}
req.open("GET", strURL, true);
req.send(null);
}
}
</script>
函数getState(countryId)
{
var strURL=“findState.php?country=“+countryId;
var req=getXMLHTTP();
//错误就在这里
//未捕获引用错误:未定义getXMLHTTP
如果(请求)
{
req.onreadystatechange=函数()
{
如果(req.readyState==4)
{
//只有在“OK”的情况下
如果(请求状态==200)
{
document.getElementById('statediv')。innerHTML=req.responseText;
}否则{
警报(“使用XMLHTTP:\n“+req.statusText时出现问题”);
}
}
}
请求打开(“获取”,strURL,true);
请求发送(空);
}
}
从以下位置调用:
<tr>
<td width="150">Country</td>
<td width="150"><select style="background-color: #ffffa0" name="country" onchange="getState(this.value)"><option>Select Country</option><option value="1">USA</option><option value="2">Canada</option> </select></td>
</tr>
国家
选择加拿大
为了安全起见,这是我的头球,也许我做得不对
<head>
<link rel="stylesheet" type="text/css" href="view/css/application.css" />
<script type="text/javascript" src="view/javascript/application.js" ></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
</head>
另一个注意事项是,我正在制作一个示例,他正在使用mysql服务器,我正在使用ODBC连接到Access数据库。我不会为此使用xmlHTTP吗?我真的不知道 您的getXMLHTTP()应该如下所示:
<script type="text/javascript">
function getXMLHTTP() {
var x = false;
try {
x = new XMLHttpRequest();
}catch(e) {
try {
x = new ActiveXObject("Microsoft.XMLHTTP");
}catch(ex) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1) {
x = false;
}
}
}
return x;
}
function getState(countryId){
var strURL="findState.php?country="+countryId;
var req = getXMLHTTP();
if (req){
req.onreadystatechange = function(){
if (req.readyState == 4){
if (req.status == 200){
document.getElementById('statediv').innerHTML=req.responseText;
} else {
alert("There was a problem while using XMLHTTP:\n" + req.statusText);
}
}
}
req.open("GET", strURL, true);
req.send(null);
}
}
</script>
函数getXMLHTTP(){
var x=假;
试一试{
x=新的XMLHttpRequest();
}捕获(e){
试一试{
x=新的ActiveXObject(“Microsoft.XMLHTTP”);
}捕获(ex){
试一试{
req=新的ActiveXObject(“Msxml2.XMLHTTP”);
}
渔获物(e1){
x=假;
}
}
}
返回x;
}
函数getState(countryId){
var strURL=“findState.php?country=“+countryId;
var req=getXMLHTTP();
如果(请求){
req.onreadystatechange=函数(){
如果(req.readyState==4){
如果(请求状态==200){
document.getElementById('statediv')。innerHTML=req.responseText;
}否则{
警报(“使用XMLHTTP:\n“+req.statusText时出现问题”);
}
}
}
请求打开(“获取”,strURL,true);
请求发送(空);
}
}
您的getXMLHTTP()应该如下所示:
<script type="text/javascript">
function getXMLHTTP() {
var x = false;
try {
x = new XMLHttpRequest();
}catch(e) {
try {
x = new ActiveXObject("Microsoft.XMLHTTP");
}catch(ex) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1) {
x = false;
}
}
}
return x;
}
function getState(countryId){
var strURL="findState.php?country="+countryId;
var req = getXMLHTTP();
if (req){
req.onreadystatechange = function(){
if (req.readyState == 4){
if (req.status == 200){
document.getElementById('statediv').innerHTML=req.responseText;
} else {
alert("There was a problem while using XMLHTTP:\n" + req.statusText);
}
}
}
req.open("GET", strURL, true);
req.send(null);
}
}
</script>
函数getXMLHTTP(){
var x=假;
试一试{
x=新的XMLHttpRequest();
}捕获(e){
试一试{
x=新的ActiveXObject(“Microsoft.XMLHTTP”);
}捕获(ex){
试一试{
req=新的ActiveXObject(“Msxml2.XMLHTTP”);
}
渔获物(e1){
x=假;
}
}
}
返回x;
}
函数getState(countryId){
var strURL=“findState.php?country=“+countryId;
var req=getXMLHTTP();
如果(请求){
req.onreadystatechange=函数(){
如果(req.readyState==4){
如果(请求状态==200){
document.getElementById('statediv')。innerHTML=req.responseText;
}否则{
警报(“使用XMLHTTP:\n“+req.statusText时出现问题”);
}
}
}
请求打开(“获取”,strURL,true);
请求发送(空);
}
}
什么是application.js?如果是您的jQuery代码,请在jQuery之后包含它,否则会出现错误。这是我的jQuery代码。当您说在jQuery之后包含它时,您的意思是在yes之后,这将是更好的实践,因为(当然这取决于您的代码结构)在这种情况下,代码可能无法正常工作。我很欣赏这个提示,但不幸的是,我仍然会遇到同样的错误。我的application.js文件可能没有getXMLHTTP吗?application.js是什么?如果是您的jQuery代码,请在jQuery之后包含它,否则会出现错误。这是我的jQuery代码。当您说在jQuery之后包含它时,您的意思是在“是”之后,这将是更好的做法,因为(当然这取决于您的代码结构)代码在这种情况下可能无法正常工作。我很欣赏这个提示,但不幸的是,我仍然会遇到同样的错误。我的application.js文件可能没有getXMLHTTP吗?