我有以下jquery AJAX代码,可以与我的服务器一起使用。
$.ajax({
type: "POST",
url: "myserverthing.php",
data: {time: timestamp,
prog: progName,
qual: qualifier,
level: lvl,
msg: message
}
});
我需要将其转换为cURL或本机PHP。
假设所有变量都存在,是字符串,并且包含可能包含特殊字符的值。
服务器没有提供或期望提供任何响应。
好的,让我们按你的方式玩。
到目前为止,经过多个途径的一些重要研究后,我想出的是:
$url = "myserverthing.php";
$fields = array(
'time'=>urlencode($time),
'prog'=>urlencode($progName),
'qual'=>urlencode($qual),
'level'=>urlencode($type),
'msg'=>urlencode($message)
);
//url-ify the data for the POST
$fields_string = "";
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, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//execute post
curl_exec($ch);
发生的事情是“什么都没有”,服务器似乎没有“看到”请求。
但是,当我发出AJAX请求时,服务器代码的第一行没有执行。
第一行代码将REQUEST的print_r的输出写入文件。在进行AJAX访问时写入该输出,但不对cURL访问进行写入。
再一次,有什么想法吗?
此致 吉姆
答案 0 :(得分:0)
好的,我来这里帮忙
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://linktofile.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
"value1=data1&value2=data2");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close ($ch);
//The output store in $server_output
?>