[英]Simple Proxy Can't Get JSON response
我正在尝试通过php代理连接到站点(此站点: https : //raw.github.com/cowboy/php-simple-proxy/master/ba-simple-proxy.php ),这是JavaScript对响应有作用的函数:
编辑:代码现在看起来像这样。 还是没有雪茄。
function exista(word) {
alert(word);
var proxy = 'ba-simple-proxy.php?url=';
var uri = "http://api.wordreference.com/0.8/ff175/json/roen/" + word;
uri = encodeURIComponent(uri);
alert(proxy + uri);
var cuvantulexista = 1;
jQuery.ajax({
"async": false,
"url": proxy + uri,
"dataType": 'json',
"method": "GET",
"success": function (data) {
alert("HERE!");
if (data.Error || data.Response)
cuvantulexista = 0;
}
});
return cuvantulexista;
}
php文件与包含上述功能的js文件位于同一文件夹中,并且位于包含html文件的公共文件夹中。
问题是我什么也没有得到回应,我也无法真正说出原因。
我也将php包含在html中,如下所示:
<?php
include("js/ba-simple-proxy.php");
?>
非常抱歉,这是我第一次使用php和跨域通信。 谢谢。 :)
编辑:如果有帮助,则该页面不托管在域上。
Edit2:因此,我在没有--disable-web-security的情况下打开了谷歌浏览器,并且再次出现此错误:
XMLHttpRequest cannot load file:///home/bogdan/Scrabble-Online/public/ba-simple-proxy.php?url=http%3A%2F%2Fapi.wordreference.com%2F0.8%2Fff175%2Fjson%2Froen%2FRHE. Origin null is not allowed by Access-Control-Allow-Origin.
但是,如果我在localhost上启动它,则不会显示该消息。 它只是没有连接。 我现在很困惑。
要发出交叉请求,您的目标页面需要允许您访问:
header('Access-Control-Allow-Origin: *');
您可以将其添加到代理脚本的顶部。 最好用您的域替换*
。
但是, file://
URL不能被授权。 因此,您需要拥有一个真实的领域。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.