1

私のライブ サイトの HTML コードはhttp://dev9.edisbest.com/PrinterManufacturers.htm?id=21にあります。

これは、FireFox と Chrome および show でうまく機能しStatus: Successます。IE9.0 で動作しない理由を誰か教えてください。

コードは次のとおりです。

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type='text/javascript'>
function hello(id){
var seriesurl = "http://t2json.tgoservices.com/818746/PrinterManufacturers/"+id+"/PrinterSeries"
    $.ajax({
      cache: false,
      url: seriesurl
    }).done(function(data, textStatus, jqXHR) {      
      $('#status').html(textStatus);

    $.each(data.T2Json.PrinterSeries.Items, function(i,item) {
     $("#content1").html('<a class="manufacturer" id="'+item.Id+'" href="#">'+ item.Name + '</a></br>'); 
    });
        }).fail(function(jqXHR, textStatus) {
          $('#status').html(textStatus);    
          $('#content').html('(failed)');
        })
    }

$(document).ready( function() {

    function getParameter(param) {
        var val = document.URL;
        var url = val.substr(val.indexOf(param))
        var n=url.replace(param+"=","");
    }

    $('#time').html(new Date);
    $('#status').html('');
    $('#content').html('');
    $.ajax({
      cache: false,
      url: $('#xhr_url').val()
    }).done(function(data, textStatus, jqXHR) {      
      $('#status').html(textStatus);

    $.each(data.T2Json.PrinterManufacturers.Items, function(i,item) {
     $("#content").append('<a class="manufacturer" id="'+item.Id+'" onclick="hello('+item.Id+');" href="#">'+ item.Name + '</a></br>'); 
    });
    }).fail(function(jqXHR, textStatus) {
      $('#status').html(textStatus);    
      $('#content').html('(failed)');
    })

     $('a .manufacturer').click(function(){
    });


});
</script>
</head>
<body>
  <input id='xhr_url' style='width:600px;' type='text' value='http://t2json.tgoservices.com/818746/PrinterManufacturers'/>
<div id='content1'></div>
  <fieldset><legend>Time:</legend>
    <div id='time'></div>
  </fieldset>
  <fieldset><legend>Status:</legend>  
    <div id='status'></div>
  </fieldset>
  <fieldset><legend>Content:</legend>

    <div id='content'></div>

  </fieldset>
</body>
4

2 に答える 2

0

最初 $.ajax({が の外にあるから$(document).ready(でしょうか?場合によっては$.ajax、実行を試みる前に jQuery がロードされないという競合状態になる可能性があります。

これも問題です。

var url = val.substr(val.indexOf(param))
var n=url.replace(param+"=","");

それは次のいずれかである必要があります。

var url = val.substr(val.indexOf(param)),
    n=url.replace(param+"=","");

また

var url = val.substr(val.indexOf(param));
var n=url.replace(param+"=","");
于 2013-05-03T14:27:38.360 に答える
-1

これはあなたのコードとは何の関係もありません。

クロスドメイン JSON リクエストを作成しようとしていますが、この問題を解決するために Access-Control-Allow-Origin ヘッダーを使用しようとしているように見えます。ただし、IE9 はそのヘッダーを尊重せず、代わりに XDomainRequest を探します。こちらを参照してください: http://caniuse.com/#search=cors

于 2013-05-03T14:47:54.880 に答える