【问题标题】:$.get seems to fail in IE 7,8 &9$.get 似乎在 IE 7,8 &9 中失败了
【发布时间】:2026-02-14 09:45:02
【问题描述】:

由于某种原因,所有 IE 浏览器都没有像在其他浏览器中那样正确执行 $get,在其他浏览器中,它会进行调用并通过我在函数(数据)中的条件语句。有人看到可能出了什么问题吗?谢谢!没有错误发生,只是没有通过它。

HTML

 <a href="layer_register.html" class="game-reg-button"> </a>

JQUERY

 $(document).on('click', '.game-reg-button', function(e){
            e.preventDefault();
            var href = $(this).attr('href');
            emailaddress = $('#game-email').val();

var getstate ="";
var data;

     $.get('promo_getstate.php', {
            email: emailaddress,
            country: 'DE',
            lang: lang,
            source: '1304_Spring_dly'
        }, function (data) {

            getstate = data;


        if( !isValidEmailAddress( emailaddress ) ) {
          $('p.start.error').fadeIn(300); 

.....................................................



}); /*end .GET */
    });

【问题讨论】:

  • 你的服务器收到请求了吗?
  • data 的格式是什么?响应头是否给出了正确的类型?
  • 数据格式是一个简单的响应,例如。响应=1
  • @Jack 它适用于其他浏览器,我认为调用甚至不会通过 php。
  • @dystroy 如果它喜欢缓存,它不应该至少运行成功函数吗? :)

标签: jquery ajax internet-explorer get


【解决方案1】:

IE 以缓存着称。确保您没有收到缓存结果。

在你的 url 末尾附加一个唯一的时间戳,这样它就不会是一个缓存的结果。你可以使用 jQuery now 函数。

 $.get('promo_getstate.php?'+$.now)(, {
    // your code goes here
 }); 

【讨论】:

  • 那没用 :( 只是似乎根本没有打电话
  • 使用萤火虫看看会发生什么
  • 在IE控制台中,没有显示任何错误,似乎没有像在其他浏览器中那样调用php。