公共Web服务器从私有服务器获取数据

时间:2014-08-19 18:40:29

标签: php ajax

我有一个有2个接口的Web服务器。 1公共和1私人。

私有接口位于具有我将要查询的服务器的网络上。

我正在使用ajax触发脚本getGraph.php来拉取图形的图像。 如果我使用专用网络(VPN)上的电脑,这工作正常。任何其他网络上的任何其他PC都会出现故障(超时)。我的猜测是因为ajax正在启动请求,所以请求来自我的电脑,而不是来自网络服务器。那是真的吗?

 $('.menu,.menu2').click(function(){
                            var action = $(this).attr('id')

                            $.ajax({
                                    type:"POST",
                                    url:'getGraph.php',
                                    data:"id="+action,
                                    success: function(result){
                                            $('#data').html(result);
                                    }

getGraph.php

echo "<img src='https://somePrivateAddress/getImage.php?id=" . $_POST['id'] . ">";

如果是这样的话。如何使用jquery手风琴菜单启动查询?

2 个答案:

答案 0 :(得分:1)

你是对的。 AJAX完全在客户端执行(以及所有其他javascript)。您将需要通过公共接口连接到您的私人Web服务器。

答案 1 :(得分:1)

base64_encode()可用于“拉动图像并将其打印”。像这样:

$type = pathinfo($url, PATHINFO_EXTENSION);
$data = file_get_contents($url);
$base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);
echo '<img src="' . $base64 . '>';

您可能需要重新使用此示例以满足您的需求,因为我不知道您在getImage.php中拥有的内容。