如何允许不安全的内容显示在页面上

时间:2013-05-02 20:57:50

标签: jquery ajax http-status-code-401 external-url

我正在尝试向外部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();
        }
    });
    }

2 个答案:

答案 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