在FF上跑,send后出现“未找到元素”,在chrome上没有发现,不过结果都是能正常提交的。 10
functionajaxPost(url){varxhr=newXMLHttpRequest();xhr.onreadystatechange=function(){if...
function ajaxPost(url)
{
var xhr=new XMLHttpRequest();
xhr.onreadystatechange=function()
{
if(xhr.readyState==4)
{
if(xhr.status==200)
{
alert('提交成功!');
}
else
{
"alert('提交失败!');
}
}
}
var str = getPostData();
xhr.open('post', url, true);
xhr.setRequestHeader('Content-Type', 'text/plain');
xhr.send(str);
};
上面是js代码,能提示'提交成功!',但是在FF浏览器的js日记里面有“未找到元素”,请问这个是哪里不兼容FF吗? 展开
{
var xhr=new XMLHttpRequest();
xhr.onreadystatechange=function()
{
if(xhr.readyState==4)
{
if(xhr.status==200)
{
alert('提交成功!');
}
else
{
"alert('提交失败!');
}
}
}
var str = getPostData();
xhr.open('post', url, true);
xhr.setRequestHeader('Content-Type', 'text/plain');
xhr.send(str);
};
上面是js代码,能提示'提交成功!',但是在FF浏览器的js日记里面有“未找到元素”,请问这个是哪里不兼容FF吗? 展开
1个回答
展开全部
原生Ajax会有 var xhr=new XMLHttpRequest(); 创建问题,可以不用自己写使用jquery框架,
var xhr;
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP"); //IE高版本创建XMLHTTP
}
catch (E) {
try {
xhr = new ActiveXObject("Microsoft.XMLHTTP"); //IE低版本创建XMLHTTP
}
catch (E) {
xhr = new XMLHttpRequest(); //兼容非IE浏览器,直接创建XMLHTTP对象
}
}
也可以这样创建
var xhr;
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP"); //IE高版本创建XMLHTTP
}
catch (E) {
try {
xhr = new ActiveXObject("Microsoft.XMLHTTP"); //IE低版本创建XMLHTTP
}
catch (E) {
xhr = new XMLHttpRequest(); //兼容非IE浏览器,直接创建XMLHTTP对象
}
}
也可以这样创建
追问
不是你说的问题,我本来js里面也是写了个函数兼容ie的,这里只是不想代码太长。如果是xhr创建问题,post不会成功的。再说了,我是在最新的FF上测试,肯定支持XMLHttpRequest,不用考虑IE的问题。
另外因为服务器是在单片机上,所以为了节省空间,只能用原生的js,不考虑使用jquery。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询