我正在运行代理,因此我可以通过url参数对数据执行ajax请求。代理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),以便我可以让代理实际返回一些内容?
这对我来说是处女地,所以你不能过度解释=)
答案 0 :(得分:2)
简单。
$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'];
...
答案 1 :(得分:0)
$_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,否则将具有该值。