簡體   English   中英

使用jQuery的簡單AJAX請求無法在IE上運行

[英]Simple AJAX request using jQuery not working on IE

這是我的代碼,有時有效,有時無效。

var resolve_ajax_login=function(){
  $.ajaxSetup({cache:false });
  var loginvar=$("#inputlogin").attr("value");
  var senhavar=$("#inputsenha").attr("value");
  $.post("../model/php/login_ajax.php",
        {login:loginvar, senha:senhavar},
        function(responseText){
            if (responseText=="ok"){ 
                window.location="areatrab.php";

            }else{
                $("#inputlogin").attr("value","");
                $("#inputsenha").attr("value","");
                $("#divmensagem").html("<span style='color:red;font-size:70%;'>"+responseText+"</span>");

            }
        }
  );
  return false;
};

好。 這是葡萄牙語,但我認為你得到了一般情況。 有時這可行,沒有問題,但有些時候(僅在IE中,在Firefox中沒有任何問題)它會在我的jquery.js文件中拋出一個javascript錯誤(縮小)。 錯誤描述如下:

對象不支持此屬性或方法:jquerymin.js第123行字符183 ..

相當於......

{return new A.XMLHttpRequest}

在jquery.js文件中間的某個地方。 它似乎非常特定於IE,因為我在Firefox上沒有這樣的問題。 這家伙顯然遇到了和我一樣的問題,但還沒有回復。

有沒有人見過這個? 提前致謝

PS:我運行IE 8

您是否嘗試使用完整的URL而不是../ model ...? 例如: http//www.mysite.com/model/login_ajax.php

此外,也許嘗試使用jQuery的.ajax方法修改'xhr'屬性...類似於:


var loginvar = $("#inputlogin").val();
var senhavar = $("#inputsenha").val();
var ajax_obj = null;

var resolve_ajax_login = function() {
  if(ajax_obj !== null) {
    try {
      ajax_obj.abort();
    } catch(e) {
    }
  }

  ajax_obj = $.ajax({
    type: 'POST',
    cache: false,
    url: '../model/php/login_ajax.php',
    data: {login:loginvar, senha:senhavar},
    dataType: 'text',
    timeout: 7000,
    success: function(data)
    {
      if(response == 'ok') {
        alert("right on!");
      } else {
        alert("not ok");
        return;
      }
    },
    error: function(req, reqStatus, reqError)
    {
      alert("error");
      return;
    },
    'xhr': function() {
      if(ajax_obj !== null) {
        return ajax_obj;
      }

      if($.browser.msie && $.browser.version.substr(0,1) <= 7) {
        return new ActiveXObject("Microsoft.XMLHTTP");
      } else {
        return new XMLHttpRequest();
      }
    }
  });
}

這與您嘗試所有不同類型的瀏覽器的順序有關,以便創建正確類型的XMLHTTP REQUEST對象。我將在下面的頁面中更詳細地解釋它:

IE 8中的AJAX不一致?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM