Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的JavaScript/AJAX函数仅在调试时起作用_Javascript_Jquery_Ajax_Debugging - Fatal编程技术网

我的JavaScript/AJAX函数仅在调试时起作用

我的JavaScript/AJAX函数仅在调试时起作用,javascript,jquery,ajax,debugging,Javascript,Jquery,Ajax,Debugging,我不太熟悉JavaScript和AJAX 我正在开发一个网页,显示通过§.getJSON/JQuery请求返回的信息。但是这个函数只有在我开始调试时才起作用。我知道调试器更正了关于此主题的其他帖子中的时间和范围。但是我找不到我的错误。我真的不需要很长的解释,因为正如我之前所说的,我对JavaScript/AJAX不是很熟悉。这是页面中的脚本部分(您可以忽略addDropDown()和departmentSelected()函数(据我所知)): var isSelected=[]; $(添加下拉

我不太熟悉JavaScript和AJAX

我正在开发一个网页,显示通过§.getJSON/JQuery请求返回的信息。但是这个函数只有在我开始调试时才起作用。我知道调试器更正了关于此主题的其他帖子中的时间和范围。但是我找不到我的错误。我真的不需要很长的解释,因为正如我之前所说的,我对JavaScript/AJAX不是很熟悉。这是页面中的脚本部分(您可以忽略addDropDown()和departmentSelected()函数(据我所知)):


var isSelected=[];
$(添加下拉菜单);
函数addDropDown(){
$.getJSON(“./api/persence/departments/all”),函数(数据、状态){
如果(状态!=“成功”){
警报(状态);
}否则{
var dropdownHead=“Abteilungen”;
var dropdownBody=“

我的问题是:在这个脚本部分中,我找不到我做错了什么,因为调试器(firebug)能够在调试时优化代码,所以它工作得非常好。但如果我没有处于调试模式,则只显示表的“标题行”(信息丢失)


感谢您的帮助。

此问题与在DOM中查找元素有关。有时候Js比DOM快,Js在HTMLDOM中找不到特定的元素。您需要在onLoad中定义js代码

$(function() {
  $(addDropDown);
});

重要信息:如果包含jQuery,不要使用JS特定函数。有时它会在jquery中崩溃。只需使用jQuery函数

例如: 不好:
document.getElementById(“可输出”)

好:
'$(“#outputTable”)

好的,我自己解决了这个问题:我必须将以下部分放入jQuery请求调用的函数中(函数(结果、状态)…)

tBody=tBody+“”; tHead=tHead+t车身; document.getElementById(“可输出”).innerHTML=tHead


当您不调试时,控制台是否有任何错误?控制台仅显示请求(例如GET:)已成功(代码200)。如果我在另一个选项卡中打开请求,就会得到正确的JSON。所以我认为函数的else部分不起作用,但我不知道为什么。谢谢你的帮助。我照你说的做了:
$(“#outputTable”).html(tHead)console.log(tHead)但变量未打印到控制台中。所以我不知道为什么?
$(function() {
  $(addDropDown);
});
$(document).ready(function(){  
    $(addDropDown); 
});