2

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 キーを削除しましたが、実際のコードには正しく入力しています。また、応答を処理するための機能も完成していません。現在、テストのためにコンソールへの応答を記録しているだけです。

ご支援ありがとうございました!

4

0 に答える 0