Передать свойство URL через прокси - PullRequest
0 голосов
/ 24 ноября 2010

Я использую прокси, чтобы я мог выполнить ajax-запрос к данным через параметры URL.PHP прокси выглядит следующим образом:

<?php
header('Content-type: application/xml');
$daurl = 'http://thesite.com/form.asp';
$handle = fopen($daurl, "r");
if ($handle) {
    while (!feof($handle)) {
        $buffer = fgets($handle, 4096);
        echo $buffer;
    }
    fclose($handle);
}
?>

Я бью прокси с помощью ajax, в результате чего добавляется параметр типа:

$j.ajax({
            type: 'GET',
            url: 'sandbox/proxy.php',
            data: 'order=' + ordervalue,
            dataType: 'html',
            success: function(response) {
            $j("#result").html(response);
            }
        });

Итак, запрос похож на sandbox / proxy.php?order = 123

Как мне получить эти данные (order = 123) и добавить их в переменную $ daurl (http://thesite.com/form.asp?order=123), чтобы прокси-сервер действительно мог что-то вернуть?

Thisэто девственная территория для меня, поэтому вы не можете переоценить =)

Ответы [ 2 ]

2 голосов
/ 24 ноября 2010

Простой.

$daurl = 'http://thesite.com/form.asp';

//if you only want 'order':
if(isset($_GET['order'])) 
   $daurl .= '?order=' . $_GET['order'];

//if you want the entire query string:

if(strlen($_SERVER['QUERY_STRING']) > 0) 
   $daurl .= '?' . $_SERVER['QUERY_STRING'];
...
0 голосов
/ 24 ноября 2010

$_SERVER['QUERY_STRING'] должен содержать order = 123, чтобы вы могли изменить $ daurl следующим образом:

$daurl = 'http://thesite.com/form.asp';
if($_SERVER['QUERY_STRING'] != ""){
    $daurl.='?'.$_SERVER['QUERY_STRING'];
}

Делая это таким образом, вы передадите все, что передано в строке запроса. Однако, если вам нужна только та часть заказа, которую вы можете использовать $ _GET ['order'], вы можете сделать что-то вроде:

$order = isset($_GET['order']) ? $_GET['order'] : -1;

$order будет -1, если в строке запроса не был указан порядок, в противном случае он будет иметь значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...