Javascript 在iFrame中获取Ajax函数的结果

Javascript 在iFrame中获取Ajax函数的结果,javascript,jquery,ajax,iframe,Javascript,Jquery,Ajax,Iframe,在我加载到iFrame中的解决方案中,我需要运行一些ajax函数,为了确保调用ajax的success函数,我发出警报以查看结果 从未达到此警报 在Firebug中,我可以看到它调用了Ajax函数中设置的URL,并返回一个JSON字符串,但带有我想要的值 为什么在成功中未达到我的警报? 为什么我的页面没有收到新值,但在firebug中我可以看到它们 self.RecoverNewValues = function () { $.ajax({

在我加载到iFrame中的解决方案中,我需要运行一些ajax函数,为了确保调用ajax的
success
函数,我发出
警报以查看结果

从未达到此
警报

在Firebug中,我可以看到它调用了Ajax函数中设置的URL,并返回一个JSON字符串,但带有我想要的值

为什么在
成功
中未达到我的
警报
? 为什么我的页面没有收到新值,但在firebug中我可以看到它们

self.RecoverNewValues = function () {        
        $.ajax({
            url: "myurl?period=" + self.periodoSelecionado,
            type: "POST",
            async: true,
            dataType: 'json',
            success: function (result) {
                alert(result);                        
                var trimestralRevenue = result.RevenueTotalizer.TrimestralRevenue;

            $("#qtdRevenue").text(trimestralRevenue );

            var html = "";
            for (var i = 0; i < result.RevenueByType.length; i++) {
                var a = i + 1;
                html += "<li class='list-group-item fist-item liAgrupaTiposReceita_" + a + "'>"
                    + " <span class='pull-right'>"
                    + "         <span class='valorOrigem' id='txtTextoValorLocacao_" + a + "'>R$ " + result.RevenueByType[i].ValueDollar.formatMoney(2, ',', '.') + "</span>"
                    + " </span>"
                    + " <span class='label label-success'>" + a + "</span>"
                    + " <span id='spanDescricaoOrigemReceita_" + a + "'>" + result.RevenueByType[i].DescriptionSource+ "</span>"
                    + "</li>";
            }

            $('#iframePrincipal').contentWindow.document.body.getElementsByClassName("list-group")[0].innerHTML = html;
        },
        error: function(jqXHR, textStatus, errorThrown) {           
            console.log(jqXHR);
            console.log(textStatus);
            console.log(errorThrown);
        }
    });
}
这只发生在web服务器中。Localhost工作正常


您的JSON响应不是JSON,而是不受JSON数据类型支持的HTML。更新页面以仅返回JSON或从选项中删除日期类型。您应该在JS中解析您的响应,然后填写动态列表。

相反,将URL像字符串一样放在Ajax中,调用包含来自控制器的操作的变量

var URL=“@Html.Action(“myAction”、“myController”)”

$.ajax({ url:url ...
});

它确实返回一个HTML页面,但您指定的是JSON的数据类型。当它不能解析JSON时,它会抛出一个解析错误is@Wouter0100返回是一个JSON,所以我用这个东西做了一些事情,并动态加载一个列表,比如
  • 东西1
    • ,然后,我把它放在
      iframe
      中。好的,在这种情况下,最好添加error函数并记录所有3个传递的变量。你能用这些值更新你的帖子吗?@Wouter0100问题更新。我把整个代码,和错误。只有在Web服务器中发布解决方案时才会发生这种情况。Localhost工作正常。
          [HttpPost]
          public string AtualizaValoresDosTotalizadoresPeloPeriodoSelecionado(string periodo)
          {
              var biggestRevenue = biggestRevenueByType(periodo);
              var listaTotalizadores = ReceitaTotalizadores(periodo);
      
              var receita = new ReceitaAssunto
              {
                  ReceitaPorTipoReceita = listaMaioresReceitasPorTipoReceita,
                  ReceitaTotalizadores = listaTotalizadores
              };
      
              return JsonConvert.SerializeObject(receita);
          }