1

私はjquery/ajaxを初めて使用し、2日間検索した後、ついに助けを求めています。明らかに、私が理解していない基本的なことがあります。

.ajax コードは次のとおりです。

    $.ajax({
    url: "../ajax/create_employee.php",
    type: 'json',
async: false,
    data: $serialFormData,
    // callback handler that will be called on success
    success: function(response, textStatus, jqXHR){

これが php ファイル (create_employee.php) の呼び出しです。

    <?php
    require ("../models/m_employee.php");
    $myemployee = new m_employee();
    $response = $myemployee->create_new_employee($_POST);
    //echo " php file response = " . $response;
    return $response;
    ?>

オブジェクトコードは次のとおりです。

        }
$q  = "insert into employee(employee_num,employee_fname,employee_lname,employee_position,employee_start_time,employee_stop_time)";
$q .= "values ('$num','$fname','$lname','$position','$start_time','$stop_time')";

if(!$r = mysqli_query($dbc,$q) ) {
   $data['error'] = "true";
   $data['message'] = "insert failed";      
   $data['success'] = "false";
   return json_encode($data);
}

呼び出しファイルに返されたデータは正しいですが、「成功」関数に入っていないようです。.ajax 呼び出しに返されるデータは、私の create_employee.php ファイルから来るはずですか、それともファイルが実行されたことをサーバーが報告しているだけですか?

4

2 に答える 2

0

echo代わりに使用してみてください:

<?php
require ("../models/m_employee.php");
$myemployee = new m_employee();
$response = $myemployee->create_new_employee($_POST);
//echo " php file response = " . $response;
echo $response;
?>
于 2012-10-19T23:02:24.923 に答える
0

これは ajax 関連ではなく、mysql の問題です。テストデータを使用して、phpを単独で実行することをお勧めします。$_POST 変数のリファクタリングが必要になる場合があります。

リターンの代わりにエコーを使用することについては、ピースキーパーのアドバイスに従います。

于 2012-10-19T23:06:48.840 に答える