jQueryの「GET」関数を使用してサーバーからCSVファイルを読み取ると、データが取得されません。FireBugを使用してコードを見ると、GETリクエストが送信され、戻り値が「200OK」であることがわかります。また、ヘッダーが正しく返されるので、リクエストが確実に行われ、データが返されます。これは、Wiresharkで見られるものでもあります。ここでは、CSVファイルの完全な内容が標準のHTTP応答として返されることがわかります。
しかし、実際のデータは私のスクリプトにはありません。Firebugは空の応答を示し、「success」関数は呼び出されません。何が間違っている可能性がありますか?
編集:情報の本質的な部分が私の質問から欠落しているように見えました。次のコードは私のローカルマシンで実行され、FirefoxのAptanaStudioによって組み込みのテストサーバーを使用して起動されます。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>New Web Project</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
var csvData;
$(document).ready(function() {
$("#btnGET").click(function() {
csvData = $.ajax({
type: "GET",
url: "http://www.mywebsite.com/data/sample_file.csv",
dataType: "text/csv",
success: function () {
alert("done!"+ csvData.getAllResponseHeaders())
}
});
});
})
</script>
</head>
<body>
<h1>New Web Project Page</h1>
<button id="btnGET">GET Data</button>
</body>
</html>