问题如下:
每次我使用下面的脚本进行ajax调用时,都会触发错误异常而不是成功。如您所见,XML输出采用正确的mime类型和字符集。该URL是本地的,因此没有跨域问题。我不能为我的生活弄清楚为什么它返回一个空值。
我非常感谢你们给予的任何帮助。我愿意回答任何问题。
here is the link to the XML output. Ask you can see, text/xml and UTF-8
here is the link to the test page
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¶m="; // 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¶m=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>
答案 0 :(得分:2)
这是一个跨域调用(http://www.something.com与http://something.com不同),这可能导致此问题。
如果您获得了http://something.com到http://www.something.com的重定向表单,那么这也会使其成为跨域调用。