jQuery没有正确的事情

时间:2013-04-03 19:20:30

标签: javascript jquery url

我目前正在使用jQuery时遇到一些麻烦。我正在尝试通过jQuery.get加载一些csv文件(即google.com),并构建一些图形。不知怎的,jQuery无法正确加载文件。这是我的代码:

<html>
    <head>

    <!--Load the AJAX API-->

    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
    <script type="text/javascript">


        $(document).keypress(function(e) {if(e.keyCode == 13) {updateData();};});

        drawchart("2013.04.02")

        function drawchart(date){

            jQuery.ajaxSetup({async:false});

            var sql = "http://www.andrewpatton.com/countrylist.csv";

            console.log(sql);

            var ans= jQuery.get(sql);

            ans.done(...draw...);

            ans.fail(console.log("fail"));
        }

    </script>
    </head>

<body>

<input id="date-input" style=margin-left:160px type="text"  id="date" name="date" />
<input type="button" value="submit" onClick="updateData();"/>
<p style=margin-left:160px> Date format: YYYY.MM.DD </p>

</body>
</html>

我已经测试了网址,当我在浏览器中输入网址时,它确实会返回一个.csv文件,所以我的猜测是jQuery中有一些东西我没有得到...

有人可以告诉我可能会发生什么吗?

1 个答案:

答案 0 :(得分:0)

您在此处遇到跨域请求问题,正如@adeneo在评论中提到的那样。这是一个不受欢迎(但完全合理)的安全“功能”。要获得所需的结果,您需要使用服务器端语言(PHP / Ruby / Python等)来获取CSV文件,必要时进行解析,然后在jQuery脚本中使用该数据。

传统的解决方法是使用JSONP来处理您的请求,但是当您想要加载.csv文件时,该方法将无效。

更多信息here