Internet Explorer 和 JQuery/AJAX $.get() 不工作
我试图让 IE8(和其他 IE)使用一个使用 JQuery/AJAX $.get() 方法显示外部 php 文件中的值的页面。 Firefox、Chrome 和 Safari 都工作正常。我把我的大问题归结为这个小例子,
这是 javascript 代码:
function get_number () {
$.get(
"test5.php",
{},
function (response) {
var number = (response.number);
$("#number_display").html(number);
},
"json"
)
}
$(document).ready(function(){
$('#get').click(function(){
get_number ();
});
})
它插入到以下 html 元素中:
<body style='text-align:center;'>
<p>Number = <span id='number_display'></span></p>
<button id='get'>Get Number</button>
这是外部 php 代码:
$num = rand (1,10);
$result = array();
$result['number'] = $num;
echo json_encode($result);
我的 jquery 库源是 http ://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js,如果有的话。
预先非常感谢您的帮助!
I am trying to get IE8 (and other IEs) to work with a page that uses the JQuery/AJAX $.get() method to display a value from an external php file. Firefox, Chrome and Safari all work fine. I've boiled my big problem down to this small example
Here's the javascript code:
function get_number () {
$.get(
"test5.php",
{},
function (response) {
var number = (response.number);
$("#number_display").html(number);
},
"json"
)
}
$(document).ready(function(){
$('#get').click(function(){
get_number ();
});
})
and it inserts into the following html element:
<body style='text-align:center;'>
<p>Number = <span id='number_display'></span></p>
<button id='get'>Get Number</button>
Here is the external php code:
$num = rand (1,10);
$result = array();
$result['number'] = $num;
echo json_encode($result);
My jquery library sourse is http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js, if that matters.
Thanks so much in advance for your help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你少了两个分号,IE 会卡住。我还格式化了您的代码并进行了一些其他调整:
编辑:在发表评论后,您很可能遇到缓存问题 - IE 可能会积极缓存
GET
请求。要解决此问题,您可以在请求中附加一个参数,强制 IE 再次访问服务器。You're missing two semicolons, which IE will choke on. I've also formatted your code and made a few other tweaks:
Edit: After your comment, you most likely have a caching issue--IE can be aggressive in caching
GET
requests. To get around this you could append a parameter to your request that will force IE to hit the server again.与 IE 中的 load() 相同。
我相信引用两句话也可以。
Same thing with load() in IE.
I believe two quotes will do too.