使用ajax jquery从web url获取json数据时出错

时间:2013-12-18 10:27:30

标签: jquery ajax json

我在访问jQuery函数时遇到服务器端值问题。我给了我的localhost路径(NewsRecord.php)作为AJAX URL(它正在工作)但是如果我给服务器路径它不工作...我不知道是什么问题 - 服务器URL打印JSON数据正常。这是代码:

   <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css">
    <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>

    </head>
    <body>
    <div data-role="page" data-theme="a">
        <div data-role="header">
            <h1>News Letter</h1>
        </div>
    <div data-role="content" id="level" ></div>

    <div data-role="footer"></div>
        <h4>Powered by Handigital</h4>
    </div>
    <script type='text/javascript'>
    $(document).ready(function() {  
            $.ajax({
                    url:'NewsRecord.php',
                        dataType:'json',
                        success:function(output) {
                    for(var u=0;u < output.length;u++)
                    {
                    $('#level').append('<div>Title &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:'+output[u].Title+'<br>Source  &nbsp;&nbsp;&nbsp;:<a href='+output[u].links+'>'+output[u].Source+'</a><br>Category :'+output[u].Category+'</div><hr>');
                    }}
                    );
            });     
    </script>
    </body>
    </html>

1 个答案:

答案 0 :(得分:1)

您正在从本地主机访问服务器 - 这意味着您的文件不在服务器中,并且由于Same Origin Policy而受到限制。 。请将您的文件带到服务器并以与本地相同的方式进行ajax调用。它会起作用。

如果您有意提出跨域请求,请使用JsonP Plugin

或者,如果您定位到现代设备或浏览器,则可以使用Cors制作跨域请求。

More info on JsonP

希望有所帮助