【发布时间】:2014-11-06 03:35:59
【问题描述】:
我有一个 html 页面,通过 ajax 一键单击提交 2 个表单(formone 和 formtwo)。 formone 被提交到 formone.php,如果成功发送 formtwo 被提交到 formtwo.php。 一切正常。除了我需要通过 POST 将数据发送到另一个 php 脚本(在另一台服务器上,但现在我正在同一台服务器上测试它)。 我用下面的代码试过了,但它不起作用(虽然我没有收到任何错误)。
我使用的卷曲代码!
function transferData()
{
//Set up some vars
$url = 'test.php';
$user = 'sampletext';
$pw = 'sampletext';
$fields = array(
'user'=>urlencode($user),
'pw'=>urlencode($pw)
);
// Init. string
$fields_string = '';
// URL-ify stuff
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string,'&');
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
}
这是我提交 ajax 表单的代码:
function submitforms()
{
FormSubmissionOne();
function FormSubmissionOne()
{
//Form 1
var $form = $('#formone');
$.ajax(
{
type: 'POST',
url: $form.attr('action'),
data: $form.serialize(),
success: function (msg)
{
FormSubmissionTwo();
},
error: function(msg)
{
alert(msg);
}
});
}
function FormSubmissionTwo()
{
//Form 2
var $form2 = $('#formtwo');
$.ajax(
{
type: 'POST',
url: $form2.attr('action'),
data: $form2.serialize(),
success: function (msg)
{
alert(msg);
//redirection link
window.location = "test.php";
}
});
}
}
这是 test.php(从 curl 函数接收脚本)
$one = $_POST['user'];
$two = $_POST['pw'];
echo "results:";
echo $one;
echo "\r\n";
echo $two;
echo "\r\n";
【问题讨论】:
-
您是否尝试过要发送到的 php 文件的绝对路径?即 -
http://www.example.com/test.php -
我确实尝试过,但我得到了相同的结果(没有结果!)