AJAX 経由で wfoo フォームを送信しようとしています。これを達成するために jQuery $.post を使用していますが、php スクリプトから 500 (Internal Server Error) が返されます。JavaScriptコードは次のとおりです。
$('form#form20').submit(function(event){
event.preventDefault();
$.post('form_handler.php', $('form#form20').serialize(), function(response) {
console.log(response);
});
});
form_handler.php ファイルの php コードは次のとおりです。
<?php
if (count($_POST) > 0) {
$fieldErrors = initAPI($root);
}
$wufoo_query_vals = array(
'w_api_key' => 'xxxx-xxxx-xxxx-xxxx',
'w_form' => 'connect-with-us',
'1' => $_POST['Field1'],
'2' => $_POST['Field2'],
'3' => $_POST['Field3'],
'4' => $_POST['Field4'],
'5' => $_POST['Field5'],
'11' => $_POST['Field11'],
'14' => $_POST['Field14'],
'13' => $_POST['Field13'],
'8' => $_POST['Field8'],
'9' => $_POST['Field9']
);
foreach($wufoo_query_vals as $key => $value) {
$request .= $key.'='.urlencode($value).'&';
}
$request = substr($request, 0, -1);
$ch = curl_init("http://defineyouredge.wufoo.com/api/insert/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
$response = curl_exec($ch);
curl_close ($ch);
echo $response;
?>
明らかな理由で API キーを削除しましたが、実際のコードには正しく入力しています。また、応答を処理するための機能も完成していません。現在、テストのためにコンソールへの応答を記録しているだけです。
ご支援ありがとうございました!