POST时cURL格式错误

时间:2014-08-22 04:48:55

标签: php jquery

我有以下代码:

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&amp; EMPNO;但我得到错误的错误。没有更多细节。我的代码出了什么问题?

1 个答案:

答案 0 :(得分:0)

问题在于您的javascript代码。您正在发布&#39; dest_url&#39;变量是你正在使用的PHP脚本&#39; url&#39;。更改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;