我正在尝试向外部URL发出AJAX请求并尝试从该URL获取Json数据。我在尝试访问网址时收到401-授权错误,说明其不安全的内容。以下是我的代码。请指教
function check() {
var ENV_URL = 'http://../BlueLight/api/BlueLights/getActiveBlueLight';
$('#trBlueLight').hide();
$.getJSON(ENV_URL+"&callback=?", function (data) {
if (data.expDate != null) {
$('#trBlueLight').show();
} else {
$('#trBlueLight').hide();
}
});
}
答案 0 :(得分:0)
所以我很乐意发表评论。 我假设您创建了以下文件 proxy_loader.php 并将其放入您的网络服务器 root 目录(通常为httpdocs)。 必须可以从 https://domain.tdl/proxy_loader.php
访问它文件应如下所示:
<?PHP
// get the url provided by javascriot
$url= $_GET['url'];
// initialize CURL
$ch = curl_init();
// additional headers like session id etc.
$header = '';
// optional user & password
$userpass = 'user:password';
//$parameters for the request
// use parameter name as array key
// use parameter value as array value
$param = array();
// set url
curl_setopt($ch, CURLOPT_URL, $url);
//this enables the output into a variable
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// set optional header
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// set request method to GET
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
// optional http authenfication
// remove the // to enable
// curl_setopt($ch, CURLOPT_USERPWD, $userpass);
curl_setopt($ch, CURLOPT_POSTFIELDS, $param);
// execute the request
// and save the response in $ret
$ret = curl_exec($ch);
// close the connection
curl_close($ch);
echo $ret;
// maybe you must use this:
// echo json_encode($ret);
?>
现在,您可以使用以下函数通过服务器请求网址:
function check() {
var ENV_URL = 'http://../BlueLight/api/BlueLights/getActiveBlueLight';
$('#trBlueLight').hide();
$.getJSON('/proxy_loader.php?url=' + ENV_URL, function (data) {
if (data.expDate != null) {
$('#trBlueLight').show();
} else {
$('#trBlueLight').hide();
}
});
}
答案 1 :(得分:0)
如果您可以在两个域上放置代码,XDM很容易获取,代码示例here