1

jquery $.get() を使用してサーバー ファイルから値を取得しようとしています。両方のファイルは現在、私のマシンの /var/www ディレクトリにあります (Linux を使用)。

ajax のクロスドメイン制限を認識しているため、2 つのファイルを /var/www に配置しました。

「クライアント」ファイル (f1.htm) は次のとおりです。

<!DOCTYPE html>
<html>

<head>
<script src="jquery-1.9.1.min.js"></script>
</head> 

<body>

<script type="text/javascript">
    $.get( "f11.htm", function( data, status ){ alert( "1" ); } );
/*
    xmlhttp=new XMLHttpRequest();
    xmlhttp.open("GET","f11.htm",false);
    xmlhttp.send();
    alert( xmlhttp.readyState + " " + xmlhttp.status );
*/
    alert( "2" );
</script>

</body>

</html>

一方、「サーバー」スクリプト (f11.htm) は次のとおりです。

<html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<head>
</head> 

<body>

<?php
echo "server text";
?> 

</body>

</html>

クライアント スクリプト ("f1.htm") が $.get() 行でスタックします。私はxmlhttprequest(コメントされています)でこれを試しましたが、うまくいきました。$.get() 行が機能しないのはなぜですか?

ティア

4

1 に答える 1

2

このコードを試して、省略形の $.get の代わりに返されるエラー関数を調べることができます。

$.ajax({
  type:'GET',
  url: 'f11.htm',
  data: {},
  success: function(data) {
   console.log(data); 
  }, error: function(jqXHR, textStatus, errorThrown) {
   console.log(errorThrown); 
  }
});
于 2013-03-27T17:04:55.330 に答える