Javascript JQuery发送带有标题的Ajax GET并在新窗口/选项卡中打开
我正在发送一个AJAX GET请求,其中传递了一些头参数。不是URL参数,而是以下列方式的标题:Javascript JQuery发送带有标题的Ajax GET并在新窗口/选项卡中打开,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在发送一个AJAX GET请求,其中传递了一些头参数。不是URL参数,而是以下列方式的标题: $.ajax({ url: "http://localhost/myendpoint/ABCDE-12345", headers: { 'X-Auth-Token' : myTokenId}, type: "GET", success: function() {
$.ajax({
url: "http://localhost/myendpoint/ABCDE-12345",
headers: { 'X-Auth-Token' : myTokenId},
type: "GET",
success: function() {
}
});
此端点返回一个文件,但需要通过传递到请求头中的OAuth令牌进行身份验证。
当请求被返回时,我应该将返回的文件显示在浏览器的新选项卡/窗口中。这可能吗
在没有身份验证的情况下,我们可以通过以下方式发送请求:
window.open('http://localhost/myendpoint/ABCDE-12345', '_blank')
将此函数添加到js:
function submit_post_via_hidden_form(url, params) {
var f = $("<form target='_blank' method='POST' style='display:none;'></form>").attr({
action: url
}).appendTo(document.body);
for (var i in params) {
if (params.hasOwnProperty(i)) {
$('<input type="hidden" />').attr({
name: i,
value: params[i]
}).appendTo(f);
}
}
f.submit();
f.remove();
}
现在创建preview.php
:
<?php
if (isset($_POST['preview'])){
echo $_POST['preview'];
}
?>
将此函数添加到js:
function submit_post_via_hidden_form(url, params) {
var f = $("<form target='_blank' method='POST' style='display:none;'></form>").attr({
action: url
}).appendTo(document.body);
for (var i in params) {
if (params.hasOwnProperty(i)) {
$('<input type="hidden" />').attr({
name: i,
value: params[i]
}).appendTo(f);
}
}
f.submit();
f.remove();
}
现在创建preview.php
:
<?php
if (isset($_POST['preview'])){
echo $_POST['preview'];
}
?>
如果需要生成新选项卡,为什么要发送ajax?因为我需要将“头”传递到请求中。有没有其他方法可以在不使用$.Ajax的情况下将头传递到GET/POST请求中?如果需要生成新的选项卡,为什么要发送Ajax?因为我需要将“头”传递到请求中。有没有其他方法可以在不使用$.Ajax的情况下将头传递到GET/POST请求中?为什么是隐藏表单?我需要将身份验证令牌传递到头中,为什么使用POST的表单和GET的ajax请求?此外,这并不是打开浏览器的新选项卡/窗口,它只是一个重定向,对于ajax请求上加载的身份验证和仅用于显示结果的隐藏表单是无用的。这不可能此功能创建新选项卡,可能是您的浏览器不标准或有pop阻止程序。为什么要使用隐藏表单?我需要将身份验证令牌传递到头中,为什么使用POST的表单和GET的ajax请求?此外,这并不是打开浏览器的新选项卡/窗口,它只是一个重定向,对于ajax请求上加载的身份验证和仅用于显示结果的隐藏表单来说是无用的。这不可能使用此功能创建新选项卡,可能是您的浏览器不标准或具有pop阻止程序。