当前位置: 首页 > 面试题库 >

AppendChild在Ajax请求中不起作用

柯耀
2023-03-14
问题内容

我有一个脚本,可以在按下当前元素时添加一个输入字段元素。当我使用innerHTML时,它将替换当前内容,这不是我想要的。所以我想appendChild应该添加而不是替换,但是它不起作用。这是我的剧本

<script type="text/javascript">
function addfile()
{
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("org_div1").appendChild = xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","addfile.php");
xmlhttp.send();
}
</script>

和我的HTML内容。

<div id="org_div1" class="file_wrapper_input">

                        <input type="hidden" value="1" id="theValue" />
<input type="file" class="fileupload" name="file1" size=
"80" onchange="addfile()" /></div>

还有我的addfile.php文件。

    var i=0;
        var ni = document.getElementById('org_div1');
        var numi = document.getElementById('theValue');
        var num = (document.getElementById('theValue').value -1)+ 2;
        numi.value = num;
        var divIdName = num;
</script>
<input type="file"  class="fileupload" size="80" name="file' + (num) + '" onchange="addfile()" />;

有输入吗?同样,innerHTML可以工作,appendChild不能工作。谢谢。


问题答案:

parent.appendChild()是一个等待DomNode对象的函数,您正在传递一个String,它无法工作…

尝试:

var d = document.createElement('div');
d.innerHtml = xmlhttp.responseText;
document.getElementById("org_div1").appendChild(d);


 类似资料:
  • 问题内容: 我正在通过jQuery的$ .ajax函数使用的第三方API上调用POST。但是,当我拨打电话时,出现以下错误: 我从这篇文章中看到这可能是Webkit的错误,所以我在Firefox中尝试了此操作(我正在使用Chrome开发),并且得到了相同的结果。 在这篇文章中,我还尝试通过将$.ajax函数的属性设置为并将设置为来使用jsonp。但是,这导致了500个内部服务器错误。 当我使用–d

  • 问题内容: 由于jQuery中的Ajax请求,存在未定义的错误。但是它在本地工作。jquery1.3.2.js @ 3633行中的错误引用 我的代码是: 代码中的警报向我显示(0,“未定义”); 我做错了什么? 问题答案: 如果您的ajax请求在完成之前被取消,则可能会发生这种情况。当用户通过刷新,单击链接或更改浏览器中的URL离开页面时,jQuery引发错误事件。通过为ajax调用实现错误处理程

  • 问题内容: 我正在使用此页面 -http : //ecmazing.com/cors.html-向此资源发出跨域Ajax请求: http //hacheck.tel.fer.hr/xml.pl 它适用于Chrome,Safari和Firefox,但不适用于IE9和Opera。 代码: (预期结果是XML代码字符串。) 自己看看: http : //ecmazing.com/cors.html 在I

  • 升级到iOS6.0版本后,ajax登录页面停止工作。看起来像是jquery$发出的ajax post请求。即使添加了随机的querystring参数并将Cache-control设置为“no-cache”(这些都是在网上找到的解决cache问题的方法),ajax仍然在safari中缓存。第一次登录尝试很好,但在第二次登录请求注销后,浏览器不会从服务器获得任何响应体。只有头球。 这同样适用于iOS6

  • 问题内容: 跨域AJAX POST请求在Web浏览器(包括手机上的浏览器)上可以很好地工作,但不适用于使用以下工具构建的本机应用程序 我创建了一个登录表单,用户必须输入他们的登录凭据,然后由heroku上托管的服务器对其进行验证,如果输入了有效的凭据,则返回json 。 我的Ajax脚本: 解决此问题所采取的步骤: 域白名单 -config.xml 告诉jQuery允许跨域 要么 禁用缓存 任何帮

  • 我正在尝试通过Laravel中的ajax推送一些数据。不幸的是,它不起作用。当我观察网络流量时,我发现: 我试图从JSGrid中获取数据,这很好。数据对象已填充。我查过了。为了进行测试,我刚刚在控制器中返回了一条短消息。但当我发送邮件请求时,它甚至没有被调用。。。 这是我的密码 Javascript: 路线: 控制器: 我期望从控制器方法中获取JSON文本作为responsemessage。但是我