使用身份验证时,Google Chart API会中断

时间:2013-07-16 20:47:09

标签: asp.net-mvc security asp.net-mvc-4 google-visualization

我正在使用MVC 4和谷歌图表API,当我在web.config中启用授权时,我的图表的交互性中断。 (渲染很好,但是当我点击链接获取更多信息时会引发一个错误,不知道“google”是什么。

下面是我的vbhtml页面;

@Code
   ViewData("Title") = "Home Page"
End Code
@Section Head
   @Scripts.Render({"https://www.google.com/jsapi"})
End Section
<h3>Welcome to XXXXXXX</h3>
<p>
   This will be a multi-system dashboard
</p>
<div id="vacancyRates"></div>
<script type="text/javascript">
google.load('visualization', '1.0', { 'packages': ['corechart'] });
google.setOnLoadCallback(drawChart('vacancyRates'));

function drawChart(container) {
    $.ajax({
        url: "/Home/GetVacancyRates",
        success: function (result) {
            var data = new google.visualization.arrayToDataTable(result);
            var options = { title: 'Community Vacancy Rates', tooltip: { trigger: 'selection' }, width: 500, height: 500, is3D: true };
            var chart = new google.visualization.PieChart(document.getElementById(container));
            chart.setAction({
                id: 'searchCommunity',
                text: 'View Community',
                action: function () {
                    selection = chart.getSelection();
                    //open a search for that community
                    window.location.href = "/Units/?community=" + data.getFormattedValue(selection[0].row, 2);
                }
            });
            chart.draw(data, options);
        },
        error: function (xhr, status, msg) { alert(msg); }
    });
}

当我将以下条目添加到我的web.config中时,所有内容都松开了。

<authorization><deny users="?"/></authorization>

* 我还添加了一些其他授权标签,以允许匿名用户访问我的CSS页面以及相关的脚本和图像。

奇怪的是;图表在加载时渲染就好了,当触发相关操作时网站崩溃(在调试模式下)。它失败了

google.load(....);

“google未定义”

思想?

<小时/> 我尝试过的事情:
将脚本全部移动到“@Section Head”
将渲染更改为“//www.google.com/jsapi”
更多的事情,我想我越来越近了
(请记住,只有在启用身份验证时才会失败)
如果我从超链接中删除“/?community = X”它都可以工作(虽然我明显没有在下一页上得到我想要的结果)事实上,如果我在页面上以相同的格式创建另一个链接,那么?社区该页面在谷歌图表之外失败。

0 个答案:

没有答案