我有这个javascript代码:
function ajax(str) {
var xmlhttp;
if (str.length==0)
{
document.getElementById("c-c").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("c-c").innerHTML = xmlhttp.responseText;
}
}
if (str.length == null){
document.getElementById("c-c").innerHTML("");
}else{
xmlhttp.open("GET", "search.cshtml/" + str, true);
xmlhttp.send();
}
}
这将显示此文件中名为search.cshtml的数据到另一个名为users.cshtml的文件:
<div class="c_c1" id="c_c1">
<ul>
<li class="c1">Students</li>
@foreach (var nom in sql){
<li><img alt="miniatura" src="@Href("~/Photo/Thumbnail2", nom.UserId, new { size="small" })" class="thumbnail-border thumb22" />@nom.Nombre @nom.Apellido</li>
}
<li class="c1">Subjects</li>
@foreach (var sub in sql2){
<li class="hola"><img alt="miniatura" src="@Href("~/Photo/Thumbnail", sub.Sub_Id, new { size="large" })" class="d" />@sub.Subject</li>
}
</ul>
</div>
我的问题是,我在users.cshtml上使用的javascript会影响search.cshtml文件中的类,例如$(&#34; c_c1&#34;)。width();等(这种类型的javascript,而不是xmlhttprequest之一)将无法正常工作。就像其他javascript无法识别插入users.cshtml文件中的数据一样。有什么问题?我已经尝试将链接放入每个文件的标题中,它仍然不会影响这些数据。
答案 0 :(得分:0)
这段代码多久了?
嗯,您需要了解您正在尝试使用不存在的元素。每次引用都将返回null:
document.getElementById("c-c")
您的标记中没有ID为c-c
的元素。鉴于标记中的类和Id名称,很难确定您要做什么...如果您希望使用具有类而不是Id的元素,您可能需要查看这样:
https://developer.mozilla.org/en-US/docs/Web/API/document.querySelector