$.ajax({
url: "go.php?ab=1",
success: function(data, textStatus, xhr) {
$("#res").html(data);
}
});
作为一项快速测试,我尝试了以下操作,并再次使用Chrome,FireFox和Safari,但不适用于IE11。
$.get('go.php?ab=1', function( jqXHR, textStatus, errorThrown )
{ alert(jqXHR); });
返回的日期是文字,可以是确定或错误。 go.php正在运行多个命令行脚本,并根据运行时传递的变量进行调整。
所有这一部分都很好,它在3个浏览器中运行良好,但不是IE11。
当页面首次在IE中加载时,它可以运行,它似乎运行go脚本并返回结果。但任何后续点击返回即时和go.php页面都不会被调用。显示结果但它们似乎是第一个返回结果的进程。就像结果和进程已被缓存一样。
任何想法如何使其在IE中的工作与其他人一样?
答案 0 :(得分:3)
就好像结果和进程已被缓存一样。
这是可能的。如果要向同一URL发送多个GET请求,则浏览器可能会缓存结果。如果您想验证这一点,可以单击按钮,清除缓存而不重新加载页面,然后再次单击该按钮以查看它是否按预期工作。
为防止缓存GET请求,您可以添加
cache: false
每个请求的$ .ajax选项,或者您可以使用
为所有请求禁用它$.ajaxSetup({ cache: false });
答案 1 :(得分:1)
我不知道我们是否遇到过同样的问题,但就在早些时候我尝试get the responce data
go.php
并将其添加到div
。
我的代码是这样的。
<强>的onClick:强>
<script type="text/javascript">
function gimmeData(){
var url = 'go.php';
$.ajax({
type: "GET",
url: url,
data:{'something':'1'},
success:function(results)
{
$('#add_data').html(results);
}
});
}
</script>
这将提供go.php?something=1
网址。
<强> HTML:强>
<input type="button" onclick="gimmeData();" value="clickme!" />
<div id="add_data"></div>
按钮点击
$('a').on('click', function(){
var a = $(this).data('first');
var b = $(this).data('second');
alert(a + ":" + b);
});
<强> HTML:强>
<a id="button" href="#" data-first="something" data-second="something2" onclick="click();">click me</a>
使用data()
功能。见http://api.jquery.com/data/
或者您可以$(this).attr("data-value")
获取data-attribute