将数据发布到不同的域表单而不离开当前域

时间:2013-12-04 11:31:13

标签: php ajax

我目前正在开展一个项目,该项目要求我将数据发布到属于不同域的表单。这确实有效,但我不希望用户看到发布到不同域的数据,因为它只显示成功/错误消息(第B页)。

我想要做的是拥有数据POST,但页面不会改变。我已经读过AJAX可以用来做这个,但前提是这些页面属于同一个域。 windows.location.replaced()看起来很有前景,但只有在我有权访问外部表单时才有效。

目前的实施: 用户在页面A上输入数据> POST数据到页面B,页面B加载

想要我实施: 用户在页面A上输入数据> POST数据到页面B,页面A仍然显示

2 个答案:

答案 0 :(得分:0)

利用cURL执行此操作。

<强> page1.php中

$url='http://www.domain.com/page2.php';
$params='username=jim&pass=jim321';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo $result = curl_exec($ch); // This outputs the response in your same page i.e. Page1.php
curl_close($ch);

答案 1 :(得分:0)

尝试使用像这样的curl

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://www.otherdoamin.com/page.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"post1=val1&post2=val2&post3=val3");
// get server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch);
curl_close ($ch);