在HTML中,是否可以查看导入脚本的响应代码?
我特别需要获取每个脚本导入的响应代码。这与我在post处理的问题有关。
我想知道我是否无法使用angularjs进行拦截,也许我可以通过使用纯JavaScript进行拦截。
答案 0 :(得分:1)
Ajax将是最佳选择。要用JS中的手动文件干净地替换浏览器对脚本文件的请求,您需要执行以下操作。
var xhr = new XMLHttpRequest();
xhr.onload = function(event) {
// Check the http status code and inject script on page if 200
if (event.target.status === 200) {
var script = document.createElement('script');
script.innerText = event.target.response;
document.body.appendChild(script);
}
else {
// Handle other status codes..
}
};
xhr.open('get', 'script.js', true);
xhr.send();
答案 1 :(得分:0)
您无法拦截浏览器发出的资源请求的响应。解决方法是通过ajax动态加载js文件并检查那里的结果代码。例如。 (我使用jquery语法更容易编写):
$.ajax({
url: "/js/my_js_file.js",
type: "GET",
success: function(data) {
eval(data);
},
error: function(jqXHR, textStatus, errorThrown) {
// handle the response code
}
});
如果您的网页上有可能的js文件,那将会很麻烦。
如果您的挑战是检测用户何时进行身份验证,解决方案可以更简单:您可以在页面开头对/ check_auth端点进行ajax调用,如果端点返回401,则重定向用户到登录页面。