将JQuery AJAX请求转换为cURL或本机PHP

时间:2017-09-29 21:03:13

标签: php jquery ajax curl

我有以下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访问进行写入。

再一次,有什么想法吗?

此致 吉姆

1 个答案:

答案 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

?>