我有一个表格,我通过ajax提交。我使用的是jquery表单插件。我正在尝试做的是获取从我的服务器返回的'Location‘头。我可以在firebug中看到它。但是每当我在成功的回调中调用getResponseHeader()函数时,它总是返回‘undefined’。
代码:
form.ajaxForm({
dataType: 'xml',
data: {format: 'xml'},
resetForm: true,
success: function(xml,status,xhr){
var location = xhr.getResponseHeader('Location');
alert(location);
});
位置未定义。但我可以在firebug中看到'Location‘头。我遗漏了什么?即使我从xhr对象调用getAllResponseHeaders(),它也会返回'undefined‘
发布于 2011-03-01 03:07:18
我正在做一些类似的事情,使用rails/rest的方法,返回一个201 "created“,其中包含一个Location头和一个空的主体。当遇到这个问题时,jQuery的ajax方法会抛出一个"parseerror“,因为它需要json,但是什么也得不到。我只是在错误回调中捕获201重定向,如下所示:
function request_error(req, textStatus, errorThrown)
{
if (req.status == 201 ) {
var created_loc = req.getResponseHeader('Location');
console.log('(201) created: ' + created_loc);
// ... manual redirect here i.e. issue another ajax request to created_loc
return;
}
// ... handle an actual error here
}
希望这能有所帮助!
https://stackoverflow.com/questions/4369987
复制相似问题