私は現在、Tableau Viewsを埋め込む関数を実行するこのajaxリクエストを持っています。次に、ユーザがこのサイトにいるときにTableauに再度ログインする必要なく、ユーザがTableauレポートにアクセスできるようにセキュリティトークンを挿入します。応答値の最初のインデックス[0]を別の関数に渡す前に、特にそれをどのように変更するのですか?
私のプロセスは、データベースからの応答を受け取ったときにセキュリティトークンを注入し、それにセキュリティトークンを追加するためのキーワード「チケット」を探します。 response[0]
に 'ticket'というキーワードが含まれていないと、そのキーワードがresponse[0]
に追加され、次の関数に渡されるまで、完全に機能します。ここで
は私の試みです:response[0].TReports[0].url.replace('server/views','server/trusted/ticket/views');
が、次の機能を実行すると、応答が修正されたものではありません。変更された '応答[0]'を受け取る方法は?
$.ajax({
type: 'POST',
url: _config.GetHeadersByClientAPI,
dataType: 'json',
contentType: 'application/json',
data: JSON.stringify(data),
success: function (response) {
var vizArray = [];
var items = '';
response[0].TReports[0].url.replace('server/views','server/trusted/ticket/views'); //This is my attempt to edit the value, however it is modifying what it is //being passed to the next forEach.
\t \t \t \t \t
response.forEach(function (data) {
vizArray[data] = data;
\t \t \t \t \t \t var trustedticket=ticket;
var header = vizArray[data].THeaderTitle;
var header_id = vizArray[data].THeaderTitle.replace(" ", "");
var reports = vizArray[data].TReports;
\t \t \t \t \t \t
$('#report-group-title').append("<a href='#" + header_id + "' class='list-group-item d-inline-block collapsed' data-toggle='collapse' data-parent='#sidebar' aria-expanded='false'><i id='h' class='fa fa-book'></i> <span class='d-none d-md-inline'>" + header + " </span></a> <div class='collapse' id='" + header_id + "'></div >");
items += "<a href='#" + header_id + "' class='list-group-item d-inline-block collapsed' data-toggle='collapse' data-parent='#sidebar' aria-expanded='false'><i id='h' class='fa fa-book'></i> <span class='d-none d-md-inline'>" + header + " </span></a> <div class='collapse' id='" + header_id + "'></div >";
var list = '';
$.each(reports, function load(j) {
vizArray[j] = reports[j]
var name = vizArray[j].name;
var url = vizArray[j].url.replace("ticket",trustedticket); //Here I inject my security //token
\t \t \t \t \t \t \t
var hash = vizArray[j].hash;
var vizOptions = {
showTabs: true,
hideToolbar: true
};
\t \t \t \t \t \t \t
var vizDiv = document.createElement('div');
vizDiv.id = hash + 'Viz';
document.getElementById('vizes').appendChild(vizDiv);
reports.viz = new tableauSoftware.Viz(
document.getElementById(hash + 'Viz'),
url,
vizOptions
)
console.log(name);