我有以下代码:
jQueryjQuery('#test').submit(function(e){
e.preventDefault();
var empno=jQuery('#empno').val();
var msg=jQuery('#msg').val();
var rem_url="url=http://10.32.2.251/Dept/esl/rem_sms.php&msg="+ msg +"&empno="+empno;
jQuery.post("curl_request.php", {"dest_url":rem_url }, function(data) {
alert (data);
});
});
下面是curl_request.php页面代码。
<?php
//set POST variables
$url = $_POST['url'];
unset($_POST['url']);
$fields_string = "";
//url-ify the data for the POST
foreach($_POST as $key=>$value) {
$fields_string .= $key.'='.$value.'&';
}
$fields_string = rtrim($fields_string,'&');
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($_POST));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
//execute post
$result = curl_exec($ch);
if($result === FALSE) {
echo curl_error($ch);
}
//close connection
curl_close($ch);
?>
另一个域名页面rem_sms.php接受两个参数,msg &empno;但是我得到了错误。没有更多细节。我的代码有什么问题?
问题出在你的javascript代码中。你正在张贴'dest_url'变量是在php脚本中,你正在使用'url'。在您的curl_request.php中更改以下两行:
$url = $_POST['dest_url'];
unset($_POST['dest_url']);
代替
$url = $_POST['url'];
unset($_POST['url']);
也更新
var rem_url="url=http://10.32.2.251/Dept/esl/rem_sms.php&msg="+ msg +"&empno="+empno; BY
var rem_url="http://10.32.2.251/Dept/esl/rem_sms.php&msg="+ msg +"&empno="+empno;