AJAX未捕获引用错误,原因不明
AJAX Uncaught reference error, unclear why?
我正在将现有的标准JS ajax函数转换为jQuery。到目前为止,我已经成功地转换了除一个以外的所有引用,这似乎导致了一个未捕获的引用错误。
对于我的添加URL功能,我有一个触发ajax功能的按钮:
function showAdd(str)
{
document.getElementById("content01").innerHTML="";
if (str=="")
{
document.getElementById("content01").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("content01").innerHTML=xmlhttp.responseText;
document.getElementById("response").innerHTML = "";
}
}
xmlhttp.open("GET","addUrlForm.php?addUrl="+str,true);
xmlhttp.send();
}
ajax指向一个从php返回的html表单(我不包括,因为我知道这不是问题的原因)。表单操作指向此处的insert ajax函数:
function insert()
{
var name= encodeURIComponent(document.getElementById('name').value);
var releaseTime = encodeURIComponent(document.getElementById('releaseTime').value);
var releaseDay = encodeURIComponent(document.getElementById('releaseDay').value);
var category = encodeURIComponent(document.getElementById('category').value);
var genre = encodeURIComponent(document.getElementById('genre').value);
var url= encodeURIComponent(document.getElementById('url').value);
xmlhttp.open('get', 'addUrl.php?name='+name+'& releaseTime=' +releaseTime+'& releaseDay=' +releaseDay+'& category=' +category+'& genre=' +genre+'& url=' +url);
xmlhttp.onreadystatechange = urlRefresh;
document.getElementById("response").innerHTML = "Processing Request. Please wait a moment...";
xmlhttp.send(null);
return;
}
从这个函数中,数据进入一个insert语句,并最终进入数据库。事实上,上面的代码正在运行。当我将SHOWADD ajax函数更改为jQuery:时
function showAdd(str) {
$('#response').html('loading...');
$.ajax({
type: "GET",
url: "addUrlForm.php",
data: "addUrl=" + str,
success: function(msg) {
$('#response').empty();
$('#content01').html(msg).show();
},
error: function () {
alert('error');
}
});
};
它吐出了未捕获的引用错误。我知道这不是一个很大的错误,但如果另一个同龄人能看看我错过了什么,那将是有帮助的。谢谢
错误为:第105行:上的"Uncaught ReferenceError:xmlhttp未定义"
"xmlhttp.open('get', 'addUrl.php?name='+name+'& releaseTime=' +releaseTime+'& releaseDay=' +releaseDay+'& category=' +category+'& genre=' +genre+'& url=' +url);"
当您切换到第二个showAdd()
函数时,它不会像第一个showAdd()
函数那样初始化xmlhttp
对象,但您的insert()
函数仍在尝试使用xmlhttp,但由于未定义它,因此会导致错误。
最好的方法可能是将insert()
函数切换为使用jQuery,这样您的代码就不会试图使用xmlhttp
变量。
相关文章:
- gmaps4rails 2.4.6未捕获引用错误:未定义Gmaps
- Wordpress中的Javascript出现匿名函数/引用错误
- 使用dc.js、d3.js和crossfilter引用错误
- 未捕获引用错误:未定义validateform
- 为什么我会出现此错误"未捕获引用错误:未定义标题;
- $未定义-未捕获引用错误
- Sitecore”;未捕获引用错误:未定义MultilistWithSearch;
- Wordpress:未捕获引用错误:未定义速度
- Node.js引用错误:未定义类名
- 我该如何解决“;未捕获引用错误:谷歌没有定义"?(谷歌地图API)
- Javascript 未定义错误:引用错误:未定义 ALT
- 为流星重新包装砌体会产生错误“引用错误:窗口未定义”
- 未定义错误引用
- 错误: 引用错误: 未定义发送
- 角度砌体指令隐藏内部元素,错误:引用错误:未定义砌体
- CoffeeScript 在 'for v in values' 中创建一个全局变量 'v',导致事件中的错误引用
- Javascript:未捕获类型错误:引用创建的对象时无法调用未定义的方法“add”
- 架构错误 - 引用错误:未定义电话
- 获取错误“引用错误:未定义事件”
- 打字稿错误引用_this