Javascript 在iFrame中获取Ajax函数的结果
在我加载到iFrame中的解决方案中,我需要运行一些ajax函数,为了确保调用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({
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);
}