我們有兩個位於Intranet上的Web服務器。服務器A是我的,服務器B正在運行Tableau。RAZOR如何調用服務器端url POST
我基本上要做到這一點:
var myTicket = what you would get if this ran AS the server:
var tableau_params = { username: 'DistrictDataReader'};
$.ajax({
type: "POST",
url: "http://Dataviz:8080/trusted",
data: tableau_params,
success: function (msg) { I want to set my myTicket to equal what comes back form server B}
});
我嘗試了一堆東西,把AJAX調用JavaScript內 - 但我敢肯定,這確實不是從網絡服務器上運行 - 而是,客戶端。我嘗試了兩種Ajax調用,都給我CORS錯誤。
<script>
$(function() {
$("#Result").click(function() {
var tableau_params = { username: 'DistrictDataReader'};
var ticket;
$.ajax({
type: "POST",
url: "http://Dataviz:8080/trusted",
data: tableau_params,
// First format attempt
dataType: "html",
success: function (msg) {
ticket = $('#Result').html(msg.d);
}
// Second format attempt
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
ticket = $('#Result').text(msg.d);
}
});
alert(ticket);
});
});
</script>
我也試過在服務器B對外開放CORS允許通過任何東西,但考慮到雙方的上述迴歸原點錯誤的例子,我敢肯定這是真的不運行形成我的網絡服務器。
所以我想另一種方式來做到這一點。我真的只是想設置我的變量myTicket從POST到http://dataviz:8080/trusted與參數設置{username:'DistrictDataReader'}
我該怎麼做?
我在RAZOR的單個cshtml頁面上。
一個附加的基本問題。您正在進行異步Ajax調用,該調用稍後會返回值,但會立即嘗試提醒返回的值。 「這就像是點了一份比薩餅,然後在它交付之前嘗試吃掉它:)」 –