0

このスクリプトに問題がありましたが、ie8 で動作させることができました。

initilize: function(){
 $('#my_form').submit(function(){
  if ($.browser.msie && window.XDomainRequest) {     
   var data = $('#my_form').serialize();
   xdr=new XDomainRequest();
   function after_xhr_load()
   {
    response = $.parseJSON(xdr.responseText);
    if(response.number =="incorrect format"){
     $('#errors').html('error');
    }
    else
    {
     $('#errors').html('worked');
    }
   }
   xdr.onload = after_xhr_load;
   xdr.open("POST",$('#my_form').attr('action')+".json");
   xdr.send(data);

  } else {
   $.ajax({
    type: "POST",
    url: $('#my_form').attr('action')+".json",
    data: $('#my_form').serialize(),
    dataType: "json",
    complete: function(data) {
     if(data.statusText =="OK"){
      $('#errors').html('error');
     }
     if(data.statusText =="Created"){
      response = $.parseJSON(data.responseText);
      $('#errors').html('Here is your code:' +response.code);
     }
    }
  });
 }
 return false;
});
}

ie7 には XDomainRequest() オブジェクトがないことを理解しています。これをie7で複製するにはどうすればよいですか。

前もって感謝します

4

1 に答える 1

4

古いブラウザーではクロスドメイン呼び出しがサポートされていないため、そのコードを IE7 で動作させることはできません。バックエンドを変更して JSONP 呼び出しを行うか、サーバー側のプロキシを使用する必要があります。

于 2012-10-17T16:58:10.813 に答える