Ajax调用返回Null值而不是xml数据

Ajax Call Returning Null value instead of xml data

本文关键字:xml 数据 调用 返回 Null Ajax      更新时间:2023-09-26

问题如下:

每次我使用下面的脚本进行ajax调用时,都会触发错误异常,而不是成功。正如您所看到的,XML输出是正确的mime类型和字符集。URL是本地的,因此不存在跨域问题。我一辈子都不明白为什么它会返回一个空值。

我真的很感激你们能提供的任何帮助。我愿意回答任何问题。

这是指向XML输出的链接。询问您可以看到,text/xml和UTF-8

这是测试页面的链接

function kill_auto_bday(){
    document.getElementById('mydiv').value = '';
    document.getElementById('mydivid').value = '';
    document.getElementById('mydiv').className='show_div';      
    document.getElementById('mydivid').className='show_div';                                                                        
    document.getElementById('sub_button').className='hide_div';                                         
    document.getElementById('this_error_now').className='hide_div';                                         
    setdefaultselection();  
}
function setdefaultselection(){
    for (var i=0; i < document.questionnaire_form.gender.length; i++) 
    {
        if (document.questionnaire_form.gender[i].value == "") 
        {
            document.questionnaire_form.gender[i].selected = true;
        }
    }
}
function getbdaystuff() {
        document.getElementById('this_error_now').className='hide_div';     
        document.getElementById('mydiv').className='hide_div';      
        document.getElementById('mydivid').className='hide_div';                                                                    
        document.getElementById('sub_button').className='hide_div';                                                 
        get_my_bday();
    }
function get_my_bday() {     
    var e = document.getElementById("gender");
    var genderselect = e.options[e.selectedIndex].value;
    var this_surv_id = document.getElementById("this_surv_id").value;       
    var bday_day = document.getElementById("bday_day").value;       
    var bday_month = document.getElementById("bday_month").value;   
    var bday_year = document.getElementById("bday_year").value;             
    var fu_url = "/ajax_results.cfm?ajax_type=auto_bday&param="; // The server-side script
    var go_url = fu_url + escape(genderselect)+ '&this_surv_id='+ escape(this_surv_id) + '&bday_day=' + escape(bday_day) + '&bday_month='  + escape(bday_month) + '&bday_year='  + escape(bday_year);
    document.getElementById('this_error_now').className='hide_div';                                         
    var response_obj = $.ajax({
        async: false,
        type: 'GET',
        dataType: 'xml',        
        url:'/ajax_results.cfm?ajax_type=auto_bday&param=1&this_surv_id=656&bday_day=27&bday_month=4&bday_year=1970',
        success: function (html) {
        alert('successful : ' + html);
        },
    error: function (error) {
    alert('error; ' + eval(error));
        }); 
}

以下是XML,以防您想知道它是什么样子:

<?xml version="1.0" encoding="UTF-8"?>
<mycontent> 
    <mydiv>No matching division found.</mydiv> 
    <mydivid>0</mydivid> 
    </mycontent>

这是一个跨域调用(http://www.something.com与http://something.com),这可能会导致这种情况。

如果你从http://something.com到http://www.something.com这也将使它成为一个跨域调用。