我在ajax中发出请求,在成功的情况下应该将我重定向到一个必须在返回值中返回的链接(在响应头中)并且可以访问这个着名的值“location”
我在ajax中发出请求,在成功的情况下应该将我重定向到一个必须在返回值中返回的链接(在响应头中)并且可以访问这个着名的值“location”
我已经尝试使用xhr.getResponseHeader ("location")
,但没有任何东西可以返回null。
此外,我在我的ajax请求中放入success
的代码未执行,或者当我将其放入complete
时,它已被充分考虑(我已检查并且我的xhr.status
是201)
我告诉你我的要求:
$.ajax({
url: 'http://api.asaplace.v-labs.fr/users/me/cards',
dataType: 'json',
type: 'POST',
headers: {
'Authorization': 'Bearer ' + this.state.token
},
success: function(data,status,xhr){
if(xhr.status === 201){
alert("fonction success");
console.log(xhr.getResponseHeader("location"));
}
},
complete: function(xhr) {
console.log(xhr.getResponseHeader("Location"));
},
});
正如我上面在控制台中说的那样,我会看到null
,但它是complete
而不是success
我也想知道,由于我的网站是在http中,并且SMoeny在https中,因此可能存在问题......
因此,标头类似于基本身份验证,承载身份验证只能通过HTTPS(SSL)使用。
(我还指出这不是状态200)
答案 0 :(得分:0)
尝试使用" L"而不是" l" (大写):
console.log(xhr.getResponseHeader("Location"));
也可以看到:
弃用通知:jqXHR.success(),jqXHR.error()和 从jQuery 3.0开始,jqXHR.complete()回调被删除。您可以使用 jqXHR.done(),jqXHR.fail()和jqXHR.always()代替。