私のサーバでうまく動作する次のjquery AJAXコードがあります。JQuery AJAXリクエストをcURLまたはネイティブPHPに変換する
$.ajax({
type: "POST",
url: "myserverthing.php",
data: {time: timestamp,
prog: progName,
qual: qualifier,
level: lvl,
msg: message
}
});
私はそれをcURLまたはネイティブPHPに変換する必要があります。
すべての変数が存在し、文字列であり、特殊文字を含む可能性のある値を含むものとします。
サーバーからの応答はありません。
OK、あなたのやり方を試してみましょう。
$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アクセスでは書き込まれません。
もう一度考えますか?
よろしく、 ジム
を助けるためにここにいます。 : - )***あなたが問題を抱えている場合は** [**もっと研究をしています**](https://meta.stackoverflow.com/q/261592/1011527)**あなたが試したことを投稿してください** **動作していないことの明確な説明**を提供し、[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)を提供します。 [質問する](http://stackoverflow.com/help/how-to-ask)の良い質問をお読みください。 [ツアーに参加する](http://stackoverflow.com/tour)と[this](https://meta.stackoverflow.com/q/347937/1011527)を必ずお読みください。 –
SOは無料のコーディングサービスではありません。 cURLマニュアルを開き、いくつかのことを試して、より正確な問題に戻ってください。 –