私は、アクセス可能なサーバー側からデータのユーザー側を取得できるようにプロキシを設定しています。私はいくつかのエンドポイントの設定を持っています、そして、彼らはすべてうまくいくが、今私は予約をするためにAPIにデータを送り返す必要があるところにいる。Ajaxリクエストからデータを取得し、別のAPIに渡します。
- が代理でAJAXリクエストからデータを取得するために私が
- が
私はわからない方法を、AJAXリクエストにAPIから
var settings2 = {
"async": true,
"crossDomain": true,
"url": "http://url?method=hello&format=json&entity=" + id,
"dataType": "json",
"data": data,
"method": "POST"
};
var a2 = $.ajax(settings2);
$.when(a2).done(function(d2) {
rp = d2;
console.log(JSON.stringify(rp));
});
と私は、APIからデータを取得する必要がある他のエンドポイントで使用するPHP関数やメソッドは、このために働く:これで
function LocationReserve(data) {
header('Content-Type: application/json');
$url = 'api_url' . $_GET['entity'] ;
$auth = 'Authorization: key';
$ch = curl_init($url);
$options = array(
CURLOPT_HTTPHEADER => array(
$auth
),
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION, 1
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
// Method A: Say Hello to the API
if(strcasecmp($_GET['method'],'hello') == 0){
$response['code'] = 1;
$response['status'] = $api_response_code[ $response['code'] ]['HTTP Response'];
$response['data'] = wssLocationReserve();
}
// --- Step 4: Deliver Response
// Return Response to browser
deliver_response($_GET['format'], $response);
としてそれは私が戻って
{"code":1,"status":200,"data":"{\"Message\":\"The requested resource does not support http method 'GET'.\"}"}
応答を取得している私は私のオプションにCURLOPT_POST =>真追加され、今で応答が
です私のajax呼び出しのデータを受け取り、api_urlに送信して応答を返すにはどうすればよいですか? APIによって
** EDIT例予想データ:
{
"ReservationDay": "05/15/2015",
"Units": [{
"UnitID": 12345,
"InsuranceID": 123 (or null)
}],
"PaymentInfo": {
"FirstName": "User",
"LastName": "Userson",
"Address1": "2727 N Central Ave",
"Address2": "",
"City": "Phoenix",
"State": "AZ",
"Zip": "85022",
"Phone": "602-2877878",
"Email": "[email protected]",
"CreditCard": "6011000000000000",
"ExpirationMMYY": "1215",
"CSC": "100"
}
}
あなたは** ** GET **ではなく** POST **を探しているようですね。 cURLを使うには、 'curl_setopt($ ch、CURLOPT_POST、1);'が必要です。 –
私はオプションにCURLOPT_POST => trueを加え、現在の応答が{ "コード":1、 "ステータス":200、 "データ":」