传递参数时代码未执行

时间:2014-02-26 17:47:59

标签: javascript jquery

我遇到的问题是,当我传递search参数时,我的代码没有执行ajax调用。我在代码中添加了几个console.log!所以,我希望你能轻松完成我的代码:

icd: function(icd,id,search){
        if(!(typeof search === 'undefined')){
            var urls = "icd?search=" + search;
console.log("1");
        }else{
            if(icd == 2){
              var urls = "/icd/icd2/" + id;
            }if(icd == 3){
              var urls = "/icd/icd3/" + id;
            }
 console.log("2");
        }
 console.log("3");
        $.ajax({
            dataType: "json",
            url: SERVER + urls,
            headers: {"X-TOKEN": TOKEN},
            success: function(data,status,xhr){ 
 console.log("4");
                    var array = $.map(data['icd'], function (field, i) {
                        return '<tr data-link="'+ field.id +'"><td>' + field.nummer + '</td><td>' + field.bezeichnung + '</td></tr>';
                    });

                    $('#DiagnosenTable').html(array.join(''));  
                    $('#side-panel2 .breadcrumb').html($('<li/>').html($('<a/>',{href: '#',text: 'Alle',click: function(){Diagnose.start()} })));
                    if(icd == 2){
                        $('#side-panel2 .breadcrumb').append($('<li/>', {class: 'active',text: data['icd1'].bezeichnung}));
                    }
                    if(icd == 3){
                        $('#side-panel2 .breadcrumb').append($('<li/>').html($('<a/>',{href: '#',text: data['icd1'].nummer,click: function(){Diagnose.icd(2,data['icd1'].id)} })));
                        $('#side-panel2 .breadcrumb').append($('<li/>', {class: 'active',text: data['icd2'].bezeichnung}));
                    }
                    $('#DiagnosenTable tbody').eq(0).children('tr').each(function(){
                        $(this).click(function(){
                            if(icd == 2){
                                Diagnose.icd('3',$(this).attr('data-link'));
                            }else{
                                $('#inputCode').val($(this).children('td')[0].innerHTML);
                                $('#inputBez').val($(this).children('td')[1].innerHTML);
                                $('#TextEntry').val($(this).children('td')[0].innerHTML);
                            }
                        });
                    });                                     
            },
            error: function(xhr, status, error) {
                    ErrorHandler.connection(xhr,status,error);
console.log("5");
                    }
        });
console.log("6");


    }

当我第一次尝试执行我的代码时,我注意到当我传递search参数时,未执行ajax调用(因为45未打印到控制台这是我的控制台的截图:

enter image description here

我无法解释为什么会发生这种情况!我错了什么?

1 个答案:

答案 0 :(得分:2)

其中一个URL与其他

不同
var urls = "icd?search=" + search;
var urls = "/icd/icd2/" + id;
var urls = "/icd/icd3/" + id;

您知道为什么搜索网址不起作用吗?它与其他人不同。 AKA:缺少一个领先的/

var urls = "/icd?search=" + search;
            ^