如何修改ajax函数的响应url



我有一个ajax函数,它在成功时重定向到从url返回的响应:

document.getElementById("button1").addEventListener("click", function (e) {
e.preventDefault();
$.ajax({
url: 'http://localhost:8080/someLoginUrl',
method: 'GET',
crossDomain : true,
xhrFields: {
withCredentials: false
},
success: function(response){
window.location.href = response;
}
});
});

http://localhost:8080/someLoginUrl返回的响应只是一个网页,包含一个url:

这是响应页面的html:

<html><head></head><body>https://localhost:8080/anotherLogin</body></html>

因此,一旦我单击按钮button1,它就重定向到https://localhost:8080/anotherLogin,而不是重定向到http://localhost:8080/someLoginUrl,这是我想要的行为。然而,我想在success函数中对response进行一个小操作——我想将协议从https更改为http。我该怎么做?

我尝试了response = response.replace('https', 'http');,但这并没有改变任何东西。

我能理解你的问题吗!您希望将您的成功响应数据发送到发生此操作的同一页面

首先,您必须创建一个id为<div id=res_data> </div>的dive,并将此div放置在您想要显示响应数据的位置。

那么你的最终代码是

document.getElementById("button1").addEventListener("click", function (e) {
e.preventDefault();
$.ajax({
url: 'http://localhost:8080/someLoginUrl',
method: 'GET',
crossDomain : true,
xhrFields: {
withCredentials: false
},
success: function(response){
$('#res_data').val(response);
}
});
});

如果你觉得这对我没有帮助,就给我打电话。

相关内容

  • 没有找到相关文章

最新更新