无法使用$ .get从其他域获取数据

时间:2014-03-07 14:59:18

标签: jquery web

在我的 localhost 中,我创建了一个Web应用程序来从网站获取数据,它只包含一个字符。所以我创造了这个:

$.get("http://www.website.web.id/data.txt", function(client_req) { 
alert(client_req); 
});

但它无法加载数据。为什么呢?

2 个答案:

答案 0 :(得分:3)

是的,跨域问题,您可以使用JSONP或CORS来解决这个问题,我已经多次发布了这个:

JQuery JSON Calls To PHP WebService Always Runs "Error" Callback

Is there any physical, readable difference between a JSON string and a JSONP string?

答案 1 :(得分:1)

这可能是您的解决方案。参见:

crossdomain.xml for jQuery?

我建议使用JSON - 我知道它可能听起来不是一个快速简单的解决方案,但它是最好的解决方案。

如果你正在使用PHP,你可以这样做:

<?php
   $arr = array('example' => 'example data', 'anotherexample' => 'OK', 'userage' => 13);
   echo json_encode($arr);
?>

那就是用JSON输出数据。然后在你的jQuery中,你会做类似的事情:

$.getJSON('http://www.website.web.id/data.php', function(client_req) {
        alert(client_req.example);
        alert(client_req.anotherexample);
        alert(client_req.userage);
    }
});

希望能让你朝着正确的方向前进。